This commit is contained in:
ISA
2025-05-28 08:48:24 +02:00
parent 5f0133d638
commit dd19014b5c
5 changed files with 132 additions and 17 deletions

View File

@@ -1,2 +1,2 @@
// /config/appVersion // /config/appVersion
export const APP_VERSION = "1.1.196"; export const APP_VERSION = "1.1.197";

77
docs/components/README.md Normal file
View File

@@ -0,0 +1,77 @@
<!-- /docs/components/README.md -->
# 🧩 `components/` Übersicht über alle UI-Komponenten
Dieses Verzeichnis enthält die gesamten React-Komponenten der TALAS-Kartenanwendung.
Sie sind thematisch gegliedert in Teilbereiche für Kontextmenüs, POIs, Polylinien, Modale und die zentrale `MapComponent`.
---
## 📁 Strukturübersicht
```bash
components/
├── contextmenu/ # Komponenten für rechte Maustaste & Kontextaktionen
│ ├── CoordinatePopup.js
│ └── useMapContextMenu.js
├── gisPolylines/ # Polylinien (Kabelstrecken)
│ ├── PolylineContextMenu.js
│ └── icons/
│ ├── CircleIcon.js
│ ├── EndIcon.js
│ ├── StartIcon.js
│ └── SupportPointIcons.js
├── icons/devices/overlapping/ # Zusätzliche Overlap-Icons für Geräte
│ └── PlusRoundIcon.js
├── mainComponent/ # Hauptkomponenten für Karteninitialisierung
│ ├── MapComponent.js
│ └── hooks/
│ └── useInitializeMap.js
├── pois/ # POI-spezifische Modale
│ ├── AddPOIModal.js
│ └── PoiUpdateModal.js
├── uiWidgets/ # UI-Widgets
│ ├── CoordinateInput.js
│ ├── VersionInfoModal.js
│ ├── TestScript.js
│ └── mapLayersControlPanel/
│ ├── EditModeToggle.js
│ └── MapLayersControlPanel.js
```
---
## 🔎 Beschreibung der Hauptbereiche
### `contextmenu/`
Rechtsklick-Menüs für Marker, POIs, Polylinien. Steuert Anzeige & Verhalten.
### `gisPolylines/`
Komponenten für das Zeichnen, Bearbeiten und Interagieren mit Linien/Strecken.
### `mainComponent/`
Zentrale Leaflet-Map-Logik & Initialisierung via `MapComponent` und `useInitializeMap`.
### `pois/`
Modale für das Hinzufügen und Bearbeiten von POIs (Points of Interest).
### `uiWidgets/`
Komponenten wie Eingabefelder für Koordinaten-Suche, Infoboxen und Control Panel für Geräte Layers .
---
## ✅ Besonderheiten
- Verwendet **Tailwind CSS** für Styling
- Integration mit Redux, Leaflet, OverlappingMarkerSpiderfier
- Vollständig modular & testbar aufgebaut

View File

@@ -14,7 +14,7 @@ Zeigt ein modales Fenster mit Koordinateninformationen an, z.B. aus einem Kon
## Props ## Props
| Name | Typ | Beschreibung | | Name | Typ | Beschreibung |
|-------------|-----------|------------------------------------| | ------------- | ---------- | -------------------------------------------- |
| `isOpen` | `boolean` | Steuert Sichtbarkeit des Modals | | `isOpen` | `boolean` | Steuert Sichtbarkeit des Modals |
| `coordinates` | `string` | Zu zeigende Koordinaten (z.B. `"53.2,8.1"`) | | `coordinates` | `string` | Zu zeigende Koordinaten (z.B. `"53.2,8.1"`) |
| `onClose` | `function` | Wird bei Klick auf „Schließen“ ausgelöst | | `onClose` | `function` | Wird bei Klick auf „Schließen“ ausgelöst |
@@ -29,3 +29,4 @@ Zeigt ein modales Fenster mit Koordinateninformationen an, z.B. aus einem Kon
- Nutzt `navigator.clipboard.writeText` oder Fallback mit `document.execCommand("copy")` - Nutzt `navigator.clipboard.writeText` oder Fallback mit `document.execCommand("copy")`
- Stoppt Event-Bubbling, um Klick außerhalb zu erkennen - Stoppt Event-Bubbling, um Klick außerhalb zu erkennen
🔙 [Zurück zur Übersicht](./README.md)

View File

@@ -0,0 +1,43 @@
<!-- /docs/components/contextmenu/README.md -->
# 🖱️ `contextmenu/` Kontextmenü-Komponenten
Dieses Verzeichnis enthält Komponenten und Hooks zur Anzeige und Steuerung von Kontextmenüs in der Leaflet-Kartenanwendung. Sie dienen der Interaktion mit POIs, Koordinaten und Layer-Objekten per Rechtsklick.
---
## 📂 Enthaltene Dateien
| Datei | Beschreibung |
| ------------------------------------------------ | ---------------------------------------------------------------------- |
| [`CoordinatePopup.js`](./CoordinatePopup.md) | Zeigt ein kleines Kontextfenster mit Koordinaten und Copy-Funktion |
| [`useMapContextMenu.js`](./useMapContextMenu.md) | Hook zur Initialisierung und Verwaltung des Kontextmenüs auf der Karte |
---
## 🔄 Verwendung
Diese Komponenten sind typischerweise eingebunden in:
- [`MapComponent.js`](../mainComponent/MapComponent.md)
- [`PolylineContextMenu.js`](../gisPolylines/PolylineContextMenu.md)
- Marker- und Linienfunktionen aus `setupDevices`, `setupPolylines`
---
## 🎯 Ziel
Ermöglicht einfache Benutzerinteraktion mit:
- Geräten
- Koordinaten
- POIs
- Streckenabschnitten
---
## 📚 Weitere Dokumentation
Alle Markdown-Dateien für Komponenten befinden sich im `/docs/components/contextmenu/` Verzeichnis.
🔙 [Zurück zu `components`](../README.md)

View File

@@ -8,7 +8,7 @@ Wird typischerweise in `initializeMap()` oder `MapComponent` verwendet.
## Kontextmenüeinträge ## Kontextmenüeinträge
| Eintrag | Funktion | | Eintrag | Funktion |
|---------------------|------------------------------------------------| | -------------------- | ----------------------------------------------- |
| Koordinaten anzeigen | Öffnet `CoordinatePopup` mit aktueller Position | | Koordinaten anzeigen | Öffnet `CoordinatePopup` mit aktueller Position |
| Reinzoomen | Zoomt 3 Stufen näher an das Zentrum heran | | Reinzoomen | Zoomt 3 Stufen näher an das Zentrum heran |
| Rauszoomen | Zoomt 3 Stufen heraus | | Rauszoomen | Zoomt 3 Stufen heraus |
@@ -18,15 +18,7 @@ Wird typischerweise in `initializeMap()` oder `MapComponent` verwendet.
## Parameter ## Parameter
```js ```js
addItemsToMapContextMenu( addItemsToMapContextMenu(map, menuItemAdded, setMenuItemAdded, setShowCoordinatesModal, setShowPoiModal, setPopupCoordinates, openPopupWithCoordinates);
map,
menuItemAdded,
setMenuItemAdded,
setShowCoordinatesModal,
setShowPoiModal,
setPopupCoordinates,
openPopupWithCoordinates
)
``` ```
## Besonderheiten ## Besonderheiten
@@ -34,3 +26,5 @@ addItemsToMapContextMenu(
- Prüft auf `localStorage.editMode` für POI-Eintrag - Prüft auf `localStorage.editMode` für POI-Eintrag
- FlyTo-Animationen für Zoom-Vorgänge mit dynamischer Dauer - FlyTo-Animationen für Zoom-Vorgänge mit dynamischer Dauer
- Modularer Aufbau: `openPopupWithCoordinates` wird extern übergeben - Modularer Aufbau: `openPopupWithCoordinates` wird extern übergeben
🔙 [Zurück zu contextmenu ](./README.md)