Commit Graph

267 Commits

Author SHA1 Message Date
ISA
5bf06cee74 docs 2025-06-12 10:21:49 +02:00
ISA
71df8df72d fix: WebSocket funktioniert 2025-06-12 07:16:38 +02:00
ISA
0a97c359d8 feat: POI-Erstellung, -Bearbeitung und -Löschung vollständig überarbeitet
- 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
2025-06-11 07:41:10 +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
ISA
004af608fc fix: POI Bearbeiten 2025-06-10 08:52:17 +02:00
Ismail Ali
2d897081c5 feat: Duplikate im Stationen-Dropdown entfernt (Area_Name wird nur einmal angezeigt)
- Dropdown-Liste in MapLayersControlPanel.js angepasst
- Mehrfach vorkommende Area_Name-Einträge werden nun gefiltert
- Anzeige beschränkt sich auf eindeutige Namen, z. B. "Rastede" nur einmal
- Grundlage: Map-basierte Filterung im JSX-Rendering
2025-06-09 10:28:44 +02:00
Ismail Ali
e1e8aa19fa feat: WebSocket-basierte Live-Aktualisierung für alle GIS-Daten umgesetzt
- UI-Reaktivität für GisLinesStatus, GisStationsMeasurements, GisStationsStaticDistrict und GisStationsStatusDistrict erfolgreich implementiert
- WebSocket-Daten werden direkt über Redux-Slices aktualisiert
- useDynamicDeviceLayers Hook reagiert zuverlässig auf neue Slice-Daten
- Leaflet Marker werden korrekt neu gesetzt und in der UI dargestellt
- Performance verbessert durch gezieltes diff-basiertes Re-Rendering
2025-06-09 09:35:22 +02:00
Ismail Ali
074a89b77c feat: WebSocket-Integration mit automatischer UI-Aktualisierung für alle Geräte-Daten
- 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
2025-06-09 09:18:43 +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
db54cc7cca test: WebSocket-Datenprüfung erfolgreich – JSON wird bei Änderung gespeichert
- 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
2025-06-08 08:52:45 +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
b6a946660a feat: EditModeToggle zeigt deaktiviertes Icon bei fehlender Bearbeitungsberechtigung (Right 56) 2025-06-06 14:10:40 +02:00
ISA
c5846e3ba9 chore(env): .env.local entfernt und durch .env.development ersetzt
- 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
2025-06-06 12:16:29 +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
40cb07b485 feat(docs): README.md optimiert und technische Dokumentation ausgelagert
- README.md für Offline-Betrieb und Kundenserver überarbeitet (ohne npm install)
- Benutzeranleitung und technische Themen nach /docs/guide/ ausgelagert
- Neue Dateien: env.md, mock-data.md, webservices.md, redux-zustand.md, project-structure.md, dependencies.md, user-guide.md
- Tabellenstruktur und Verlinkungen im README modernisiert
- Fokus auf klare Trennung: Entwickler-Doku vs. Kundenbereitstellung
2025-06-05 08:59:38 +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
0622e6ab52 docs 2025-06-03 15:19:26 +02:00
ISA
754b9a1622 docs 2025-06-03 14:08:20 +02:00
ISA
5c158a0395 feat: Webservice-Mockdaten im public-Verzeichnis hinzugefügt
- JSON-Dateien für Linienstatus, Stationsstatus, Systemdaten und Benutzerrechte unter /public/mocks/webservice/ abgelegt
- Struktur der Dateien an echte Webservice-Antworten angepasst (z. B. 'Statis' statt 'Status')
- Dienste wurden entsprechend auf Umschaltung zwischen Mock- und Echtbetrieb vorbereitet
- Ermöglicht lokale Entwicklung und Tests ohne Backend-Verbindung
2025-06-03 13:34:38 +02:00
ISA
3412d3daff docs 2025-06-03 10:07:01 +02:00
ISA
6f96c3ec91 doc: README.md 2025-06-03 09:40:35 +02:00
ISA
c155efbcfa docs: README.md überarbeitet und optimiert für Onboarding 2025-06-03 09:25:53 +02:00
ISA
f133add7fb README 2025-06-03 06:53:51 +02:00
ISA
34ca809ede fix:webService immer auf port 80
const baseUrl = `${window.location.protocol}//${window.location.hostname}:80${basePath}/ClientData/WebServiceMap.asmx`;
2025-06-02 15:24:11 +02:00
ISA
6d639d2949 for prod v1.1.219 2025-06-02 14:44:45 +02:00
ISA
b65cf15bf1 cleanup: delete static layers 2025-06-02 14:39:29 +02:00
ISA
96b793c9a2 cleanup: delete urls.js 2025-06-02 14:36:49 +02:00
ISA
d887c49d4f feat: Kontextmenü-Link für Marker, Linien und GMA vereinheitlicht – openInNewTab verwendet, Port entfernt, /devices/ ergänzt 2025-06-02 14:27:45 +02:00
ISA
0289656b08 feat: separator in contextmenu 2025-06-02 11:47:12 +02:00
ISA
c383be658e chore: __mocks__ und __tests__ vom Build/Publish über .npmignore ausgeschlossen 2025-06-02 11:31:27 +02:00
ISA
3411aceca2 "fix: Kontextmenü für Geräte-Marker korrigiert – Station öffnen erscheint jetzt zuverlässig 2025-06-02 11:16:49 +02:00
ISA
771254db7e PS C:\Users\isa.LTW\Desktop\02.06.2025\NodeMap\02.06.2025 NodeMap> git push work tags
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>
2025-06-02 11:15:34 +02:00
ISA
65d92bb4ab docs: Gerätelayer-Upgrade dokumentiert (System ↔ IdSystem Vergleich) 2025-06-02 10:27:45 +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
Ismail Ali
fda7476872 feat(gma): dauerhafte Tooltips mit Messwerten für GMA-Geräte hinzugefügt
- 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
2025-05-29 14:00:27 +02:00
Ismail Ali
534f8f062b Tooltip wird angezeigt 2025-05-29 13:20:37 +02:00
Ismail Ali
af82ca32c5 feat(mock): implementierte Mock-Daten für 6 Webservice-Endpunkte + Umschaltung via .env
- Hinzugefügt: __mocks__/webservice/
  - gisLinesStatus.js
  - gisStationsMeasurements.js
  - gisStationsStaticDistrict.js
  - gisStationsStatusDistrict.js
  - gisSystemStatic.js
  - userRights.js
- In allen fetch*Service-Dateien Umschaltung implementiert (über NEXT_PUBLIC_USE_MOCKS)
- Fallback auf Mock-Daten bei Entwicklung oder Offline-Modus
- Unterstützt schnelles UI-Testing und isolierte Feature-Entwicklung ohne Backend
2025-05-29 12:12:53 +02:00
Ismail Ali
6995f4bca7 mock: Linien 2025-05-29 10:10:48 +02:00