Files
nodeMap/TODO.md
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

2.8 KiB
Raw Blame History

🧪 Hinweise zur Entwicklung

  • Mock-Dateien liegen unter /public/__mocks__/
  • In .env.local ist NEXT_PUBLIC_USE_MOCKS=true gesetzt
  • Diese helfen beim UI-Test der Intervall-Aktualisierung (Charts, Statusanzeigen)
  • Manuell bearbeitbar, um gezielt Systemverhalten zu simulieren

🔧 Offene Aufgaben

  • TODO: GMA auf 13er ist anders als in der Entwicklungsumgebung, Tooltip wird nicht angezeigt

  • TODO: In editMode ohne Rechte kann noch die Linien Stützpunkte positioniert werden, es soll das nicht!

  • TODO: In editMode ohne Rechte kann noch den Bereich positioniert werden, es soll das nicht!

  • TODO: die Messwerte GMA werden nicht angezeigt

  • TODO: der Kunde könnte statt GMA andere Name haben

  • TODO: überall durch ein Interval Services aufrufen um die Daten zu aktualisieren , am besten in eine Zentraler Stelle ---> von ein Hook die alle gebrauchte Slice und thunks holt mit setInterval, diesen hokk in main component integrieren

  • TODO: Möglichkeit bevor in Gitea hochgeladen, .env.local anpassen, vielleicht mit husky Wenn git push genutzt wird soll für Produktionsumgebung angepasst werden, Vorschlag ---> .env.local und .env.production für Entwicklungsumgebung und Produktionsumgebung automatische Switch

🧹 Memory Leaks prüfen

  • MapComponent.js - [ ] setInterval(...) (1x) - [ ] setTimeout(...) (2x) - [ ] window.xyz = ... (4x) globale Variablen - [ ] map.on(...) (2x) - [ ] addEventListener(...) (1x) - 📌 Problematisch, wenn clearInterval, clearTimeout, map.off(...) oder removeEventListener(...) nicht im useEffect-Cleanup gemacht werden. → Speicher kann anwachsen, besonders bei Hot-Reload oder Navigation im iFrame.

  • useAreaMarkersLayer.js - [ ] setInterval(...) - [ ] addEventListener(...) - 📌 Auch hier muss geprüft werden, ob beim Unmounting der Komponente clearInterval() und removeEventListener() aufgerufen wird.

  • AddPOIModal.js - [ ] setTimeout(...) - 📌 Prüfen, ob der Timeout vor unmount gecleart wird (z.B. bei schnellem Öffnen und Schließen des Modals).

  • MapLayersControlPanel.js - [ ] setTimeout(...)

  • useDataUpdater.js - [ ] setInterval(...) - 📌 Sehr wahrscheinlich ein regelmäßiger Polling-Mechanismus → unbedingt prüfen, ob clearInterval() im useEffect-Cleanup enthalten ist.

-[x] TODO: WebSocket für webService erstellen , falls etwas geändert wird dann soll aktualisiert, optimiert besser als setInterval, zuerst nur für TALAS.web WebServices erstellen, irgendwann soll die Daten von DB auch mit WebSocket gelöst werden

  • TODO: POI bearbeiten funktioniert es nicht
  • TODO: Linien Links noch mit Port 3000
  • TODO: Checkliste für README.md vorbereiten