Files
nodeMap/docs/frontend/utils/polylines/setupPolylines.md
Ismail Ali 7b1d255432 refactor+docs: BASE_URL entfernt, Port-Logik vereinheitlicht (v1.1.75)
- setupPolylines.js und createAndSetDevices.js auf dynamische Link-Generierung umgestellt
- Entfernung von NEXT_PUBLIC_BASE_URL aus .env.local
- Verwendung von NEXT_PUBLIC_API_PORT_MODE zur Steuerung von :80 in Dev
- Neue Dokumentationen unter /docs/frontend/utils/{polylines,devices}/
- CHANGELOG.md und appVersion.js auf Version 1.1.75 aktualisiert
2025-05-16 20:44:52 +02:00

2.1 KiB
Raw Blame History

🧭 setupPolylines.js Polylinien zeichnen und verwalten

Zweck

Diese Datei enthält die zentrale Funktion setupPolylines, die in der Kartenkomponente (Leaflet) Polylinien sowie Marker basierend auf Gerätekonfigurationen zeichnet und verwaltet.

Sie wird verwendet, um:

  • Polylinien basierend auf Koordinaten zu zeichnen
  • Stützpunkte visuell als Marker anzuzeigen
  • Marker kontextsensitiv mit Optionen (z.B. „Stützpunkt entfernen“, „Koordinaten anzeigen“) auszustatten
  • Linien aktualisieren und neue Koordinaten in die Datenbank schreiben
  • Kontextmenü-Interaktionen zu ermöglichen

Besonderheiten

  • Marker mit speziellen Icons (Start, Ende, Zwischenpunkt)
  • Interaktivität abhängig vom Bearbeitungsmodus (editMode aus localStorage)
  • Kontextmenü pro Marker und Linie individuell steuerbar
  • API-Aufrufe zur Koordinaten-Aktualisierung:
    POST /api/talas_v5_DB/gisLines/updateLineCoordinates

Dynamische URL mit Port-Steuerung

Die Datei verwendet keine feste API-Basis-URL mehr aus .env.local.
Stattdessen wird NEXT_PUBLIC_API_PORT_MODE genutzt, um zwischen Entwicklungs- und Produktionsumgebung zu unterscheiden:

NEXT_PUBLIC_API_PORT_MODE=dev

Beispiel im Code:

const mode = process.env.NEXT_PUBLIC_API_PORT_MODE;

const baseUrl =
  mode === "dev"
    ? `${window.location.protocol}//${window.location.hostname}:80/talas5/`
    : `${window.location.origin}/talas5/`;

Kontextmenüaktionen

  • Station öffnen (neuer Tab)
  • Koordinaten anzeigen
  • Zoom in/out
  • Karte zentrieren
  • Stützpunkt hinzufügen/entfernen (wenn editMode)

Speicherorte

  • Polylinien und LineColors werden unter window.polylines und window.lineColors global gespeichert
  • Aktive Redux-Slices:
    • polylineContextMenuSlice
    • addPoiOnPolylineSlice
    • polylineLayerVisibleSlice

Siehe auch

  • API-Aufruf: /api/talas_v5_DB/gisLines/updateLineCoordinates
  • utils/geometryUtils.js, poiUtils.js, eventHandlers.js
  • redux/slices/polylineContextMenuSlice.js

📄 Pfad: /docs/frontend/utils/polylines/setupPolylines.md