Files
nodeMap/docs/TODO.md
2025-09-12 15:18:55 +02:00

106 lines
5.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 🧪 Hinweise zur Entwicklung
<!-- TODO: Intervall-Aktualisierung mit Mockdaten testen -->
- 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
- [x] TODO: In editMode ohne Rechte kann noch die Linien Stützpunkte positioniert werden, es soll
das nicht!
- [x] 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
- [x] 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
- [x] 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
- [x] 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
# 12.09.2025
Die aktuelle Ansicht ist bei kleineren Auflösungen unübersichtlich bzw. es wird zuviel von der
eigentlichen Karte verdeckt. Unquittierter Alarm, critical
Zu Marker zoomen
Station suchen
- [ ] TODO: Unquittierter Alarm, critical 🚨 Alarm
- [ ] TODO: Zu Marker zoomen: Dropdown-Menu Station auswählen und hinein zoomen bis zu ausgewählte
in einem betimmten Zoom-Stufe der Leaflet (OSM) Station mit flyto in Leaflet 📍 POI
- [ ] TODO: Station suchen: CoordinateInput.js Modal soll über einem Icon 'Suche / Lupe' oben rechts
eingeblendet und ausgeblendet um mehr von der Karte zu sehen 🔍 Suche
- [ ] TODO: Editiermodus: EditMode Stift Icon aktivieren und deaktivieren um POI Position ändern zu
können wenn der User Berechtigung hat ✏️ Edit
- [ ] TODO: Vergrössern: Maximieren Icon Button um rauszoomen zu einem bestimmten Bereich, z.B.
Deutschland Karte im Fenster sichtbar ⬜ Fenster maximieren
- [ ] TODO: Ebenen (Openstreetmap): Stack/Stapel/Ebenen Icon um den Ansicht der Karten zu ändern 🗂️
Stapel
- [ ] TODO: Menü öffenen mit Kiste der Systeme: MapLayerControlPanel.js Modal soll über einem Icon
'Hamburger menu' oben rechts eingeblendet und ausgeblendet um mehr von der Karte zu sehen ☰
Hamburger-Menü
- [ ] TODO: Info Karte: VersionInfoModal.js Modal soll über einem Icon 'Info' oben rechts
eingeblendet und ausgeblendet um mehr von der Karte zu sehen Info
https://www.openstreetmap.org/#map=13/51.80097/9.33495&layers=P