105 lines
5.0 KiB
Markdown
105 lines
5.0 KiB
Markdown
## 🧪 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
|