Commit Graph

105 Commits

Author SHA1 Message Date
ISA
9d7a696f91 feat: Add persistent localStorage for Kabelstrecken (polylines) visibility
- Add kabelstreckenVisible state with localStorage persistence
- Implement dual localStorage variables (kabelstreckenVisible + polylineVisible) for compatibility
- Add event system for cross-component polyline visibility updates
- Update MapComponent to listen for polylineVisibilityChanged events
- Ensure polylines display correctly on browser reload
- Migrate from Redux-only state to localStorage-first approach
- Add comprehensive debug logging for troubleshooting

Fixes issue where Kabelstrecken checkbox state was lost on page reload
and polylines were not displayed until manual toggle.
2025-07-25 13:09:18 +02:00
ISA
e1bfe7496b fix: Kabelstrecken-Checkbox und Anzeige an TALAS Allow-Status gekoppelt
- Checkbox für Kabelstrecken (polylines) wird deaktiviert, wenn TALAS (IdSystem: 1) Allow: 0 ist
- Polylinien werden auf der Karte nur angezeigt, wenn Allow: 1 für TALAS gesetzt ist
- Synchronisation zwischen UI
2025-07-25 10:08:45 +02:00
ISA
7c4fbc3988 refactor: Komponenten-Hooks strukturiert und in passende UI-Unterverzeichnisse verschoben
- useLineData.js → components/gisPolylines/tooltip/
- useLayerVisibility.js → components/mapLayersControlPanel/hooks/
- useAreaMarkersLayer.js → components/area/hooks/
- useDynamicDeviceLayers.js → components/devices/hooks/
- useDataUpdater.js & useMapComponentState.js → components/hooks/

💡 Ziel: Alle UI-bezogenen Hooks an logische Stellen verschoben, um Wartbarkeit zu verbessern.
🔍 Vorteil: Schnellere Navigation bei UI-Fehlern oder Layout-Anpassungen.
2025-06-25 07:21:05 +02:00
ISA
23ec079eb9 chore: zentrale Versionsverwaltung verbessert und appVersion.js entfernt
- Versionsnummer wird nun automatisch in package.json, package-lock.json, .env.development und .env.production aktualisiert
- appVersion.js entfernt, da die Version nun direkt über process.env.NEXT_PUBLIC_APP_VERSION verwendet wird
- bumpVersion-Skript aktualisiert und vereinfacht
- Vorbereitungen für klarere Versionshistorie und Releases
2025-06-17 13:55:27 +02:00
ISA
71df8df72d fix: WebSocket funktioniert 2025-06-12 07:16:38 +02:00
Ismail Ali
8e5dac82b5 feat: Geräteauswahl und Anzeige beim POI-Handling auf WebService umgestellt
- 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
2025-06-10 17:55:36 +02:00
Ismail Ali
b067a4c97e feat: WebSocket-Integration mit UI-Reaktivierung für GisStationsStaticDistrict
- WebSocket-Trigger implementiert, der `fetchGisStationsStaticDistrictThunk` ausführt.
- Trigger-Mechanismus über `useState` (`triggerUpdate`) sorgt für gezielten UI-Re-Render.
- Problem gelöst, dass Redux-Store zwar neue Daten enthielt, aber die UI nicht aktualisiert wurde.
- MapComponent.js und useDynamicDeviceLayers.js entsprechend angepasst.
2025-06-09 00:24:33 +02:00
Ismail Ali
fbffc82e1b websocket alle Links 2025-06-08 10:21:19 +02:00
Ismail Ali
a8978034d2 feat: Änderungen werden von websocket zu client gesendet und Redux aktualisiert UI 2025-06-07 14:25:42 +02:00
Ismail Ali
17def7357c socket.io und mock Data 2025-06-07 09:12:58 +02:00
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
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
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
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
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
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
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
ISA
2f4c264b4b refactor: entferne veralteten fetch-Block für gisLinesStatus aus MapComponent
- fetch(...) durch Redux-Thunk ersetzt
- Daten werden zentral über fetchLineStatusAndLinesThunk bereitgestellt
- keine Redundanz oder Datenverluste festgestellt
2025-05-21 14:59:05 +02:00
ISA
6885768bed refactor: DataSheet-Panel zeigt sich jetzt nur bei gültigen Redux-Daten
- entferne lokalen fetch + isDataLoaded State
- fetchGisStationsStaticDistrictThunk per Redux-Status 'idle' getriggert
- Anzeige von DataSheet erfolgt nur, wenn GisStationsStaticDistrict.Points vorhanden sind
2025-05-21 14:23:45 +02:00
ISA
79c98b0512 feat: GIS-Linien von direktem fetch auf Redux umgestellt
- fetchGisLinesService, Thunk und Slice erstellt
- MapComponent nutzt dispatch(fetchGisLinesThunk())
- Linien-Daten zentral aus Redux (state.gisLines.data) übernommen
- fetch(...) entfernt und durch Redux-Logik ersetzt
- Version erhöht auf 1.1.130
2025-05-21 13:58:34 +02:00