- Geräte mit Allow=0 in GisSystemStatic werden auf der Karte ausgeblendet - Daten bleiben unverändert, nur die Anzeige/Zeichnung ist
3.5 KiB
🧪 Hinweise zur Entwicklung
- Mock-Dateien liegen unter
/public/__mocks__/ - In
.env.localistNEXT_PUBLIC_USE_MOCKS=truegesetzt - 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, wennclearInterval,clearTimeout,map.off(...)oderremoveEventListener(...)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 KomponenteclearInterval()undremoveEventListener()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, obclearInterval()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
unknownbei bestimmten Linien
→ prüfen insetupPolylines.js, ob alle Geräte korrekt benannt sind -
Tooltip zeigt
N/Abei Station → untersuchen, obstation.NameincreateAndSetDevices.jsgesetzt wird
✨ Ideen & Verbesserungen
- ESC-Taste schließt
VersionInfoModal - Zurück-Link in jedem
.mdFooter 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