Files
nodeMap/docs/TODO.md
ISA 37aec649ee feat: Geräte/Stations-Marker werden nur für Systeme mit Allow=1 angezeigt
- Geräte mit Allow=0 in GisSystemStatic werden auf der Karte ausgeblendet
- Daten bleiben unverändert, nur die Anzeige/Zeichnung ist
2025-07-28 16:21:48 +02:00

3.5 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

🐞 Aktuelle Bugs

  • Tooltip zeigt unknown bei bestimmten Linien
    → prüfen in setupPolylines.js, ob alle Geräte korrekt benannt sind

  • Tooltip zeigt N/A bei Station → untersuchen, ob station.Name in createAndSetDevices.js gesetzt wird

Ideen & Verbesserungen

  • ESC-Taste schließt VersionInfoModal
  • Zurück-Link in jedem .md Footer automatisieren

🧹 Technische Schulden

  • Redundante Kontextmenülogik auflösen
  • Bessere Trennung zwischen Mock- und Live-API in Service-Funktionen

28.07.2025 IdSystem 11 GMA Glätemeldeanlagen, werden neu neu laden das Browser nich mehr geladen in DB maps idsystem ändern und testen