Commit Graph

166 Commits

Author SHA1 Message Date
ISA
128b8fea5d docs+refactor: fetchGisStationsStatic API-Aufruf vereinheitlicht
- fetchGisStationsStatic.js verwendet jetzt zentrale Port-Logik über .env.local (NEXT_PUBLIC_API_PORT_MODE)
- Map-ID wird direkt aus der URL gelesen (?m=...)
- Fehlerprüfung auf JSON-Antwort eingebaut
- Doku erstellt: /docs/frontend/redux/api/fromWebService/fetchGisStationsStatic.md
- CHANGELOG.md aktualisiert (v1.1.71)
2025-05-16 13:27:48 +02:00
ISA
04ad5b99e6 docs+refactor: Port-Logik und URL-Handling für Webservices vereinheitlicht
- fetchGisSystemStatic und fetchGisStationsMeasurements nutzen jetzt zentrale .env-Steuerung (NEXT_PUBLIC_API_PORT_MODE)
- feste :3000- oder :80-Zugriffe entfernt, dynamisch via hostname aufgebaut
- URL-Parameter m/u aus der Query übernommen
- zwei neue Dokumentationsdateien im Verzeichnis /docs/frontend/redux/api/fromWebService/
- CHANGELOG.md auf Version 1.1.69 aktualisiert
2025-05-16 13:12:10 +02:00
ISA
21205d0981 docs: Webservice fetchGisSystemStatic dokumentiert mit Portlogik und URL-Parameter
- .env-Variable NEXT_PUBLIC_API_PORT_MODE beschrieben
- Beispielaufruf und URL-Mapping ergänzt
- Pfadstruktur /docs/frontend/redux/api/... übernommen
2025-05-16 10:24:04 +02:00
ISA
69830a1185 refactor: API-Port-Variable entfernt, dynamische Port-Nutzung eingeführt
- NEXT_PUBLIC_API_PORT_3000 entfernt
- API-Aufrufe basieren jetzt auf window.location.hostname:3000
- kein Rebuild mehr bei IP-Änderung nötig
- .env.local aufgeräumt
- CHANGELOG.md auf 1.1.68 aktualisiert
2025-05-16 07:37:25 +02:00
ISA
06028ccb6f docs: Parameterübergabe in MapComponent dokumentiert
- Neue Datei `docs/frontend/components/MapComponent.md` hinzugefügt
- Erklärung zur Verwendung von ?m=...&u=... im Frontend
- Klarstellung, dass Webservices idMap/idUser erwarten
- MapComponent angepasst für URL-Parameter 'm' und 'u'
2025-05-16 06:51:54 +02:00
ISA
24ee77bd28 fix: Parameter "m" und "u" in Front- und Backend und Parameter idMap und idUser entfernen für Webservices 2025-05-15 12:29:59 +02:00
ISA
0a046974bc docs: Webservice-ID-Parameter über URL statt .env.local (BREAKING CHANGE)
- Entfernt Fallback für idMap und idUser via .env.local
- Anpassung aller fetchGis*-Funktionen zur Nutzung von URL-Parametern
- Dokumentation entsprechend aktualisiert
- CHANGELOG.md hinzugefügt (Version 1.1.65)
2025-05-15 11:16:39 +02:00
ISA
7c67111ccd docs verzeichnis und .env.local in Gitea speichern 2025-05-15 10:47:10 +02:00
ISA
c2ffec7fd3 README Update 2025-05-14 15:10:15 +02:00
ISA
cabb2e77db README Update: Standard-Deployment-Ablauf auf dem Server 2025-05-14 12:01:35 +02:00
ISA
fb45deb6e3 README update 2025-05-14 09:32:20 +02:00
ISA
d500afbc0b README.md 2025-05-14 08:54:28 +02:00
ISA
c5d4ed3a59 fix: LTEModam nicht klickbar 2025-05-14 08:03:34 +02:00
ISA
154d310117 fix:gis_Lines error 404 holt leere Array 2025-03-17 12:11:29 +01:00
ISA
a1e33f650e feat: Kontextmenü für Stützpunkte nur im Edit-Mode anzeigen 2025-03-14 14:18:29 +01:00
ISA
9d2e414d29 .env.local 2025-03-12 07:14:45 +01:00
Ismail Ali
e4851fa53e Checkboxen funktioniert in DataSheet 2025-03-11 21:51:29 +01:00
Ismail Ali
984ce72201 refactor: Recoil durch Redux ersetzt und Fehler behoben
- Entfernt `useRecoilState(mapLayersState)` und durch `useSelector(selectMapLayersState)` ersetzt.
- Alle `setMapLayersVisibility` durch `dispatch(setLayerVisibility(...))` ersetzt.
- LocalStorage-Handling für `mapLayersVisibility` mit Redux umgesetzt.
- Fehler "setMapLayersVisibility is not defined" behoben, indem `dispatch` verwendet wurde.
- Sicherstellung, dass `mapLayersSlice` im Redux-Store registriert ist.
2025-03-11 21:17:12 +01:00
ISA
449d19a728 fix: Duplizierte Kontextmenü-Einträge verhindert und Cleanup hinzugefügt
- Kontextmenü wird jetzt nur einmal hinzugefügt, wenn es noch nicht existiert.
- Vor dem Hinzufügen wird geprüft, ob bereits Einträge existieren, um Duplikate zu vermeiden.
- Kontextmenü wird entfernt, wenn außerhalb geklickt wird, um Speicherlecks zu verhindern.
- Nutzung eines `Set()` für Menü-IDs, um doppelte Einträge sicher zu verhindern.
2025-03-11 16:19:11 +01:00
ISA
1444a24244 git commit -m "fix: Station öffnen im Kontextmenü für POIs deaktiviert" 2025-03-11 12:05:45 +01:00
ISA
750e8fa6e5 alte Version von useFetchWebServiceMap entfernt von /hooks/, das neue ist in /components/mainComponents/hooks/ 2025-03-11 11:04:46 +01:00
ISA
c98694a515 useEffect Block von MapComponent.js in useFetchPoiData.js ausgelagert 2025-03-11 11:02:40 +01:00
ISA
c7e948a27a feat: useEffect für WebService-Abfragen in eigenen Hook ausgelagert
- useEffect-Block für API-Abfragen (GIS Stations Status, Measurements, System Static) in `useFetchWebServiceMap.js` ausgelagert
- Verbesserung der Code-Struktur und Übersichtlichkeit in `MapComponent.js`
- Logging hinzugefügt, um API-Abrufe und Fehler besser nachzuverfolgen
- Sicherstellung, dass `localStorage`-Werte korrekt aktualisiert werden
2025-03-11 10:11:00 +01:00
ISA
0998fcf7c2 was nicht ausgelagert ist entfernt 2025-03-11 08:31:15 +01:00
ISA
a846bd14ce Kommentare entfernt, was nicht benötigt wird 2025-03-11 07:52:27 +01:00
ISA
f59fb62d29 hooks auslagern von MapComponent, useInitializeMap.js und useLoadUserRights.js 2025-03-11 07:45:08 +01:00
ISA
0dce495435 refactor: mainComponent/hooks/webServices/ 2025-03-11 06:47:46 +01:00
Ismail Ali
c797282d35 fix: TypeError: Cannot read properties of null (reading 'contextmenu')
Fehlerbehandlung für `contextmenu` in Polyline-Kontextmenü verbessert
- Fehler abgefangen, wenn `contextmenu` null ist, um React-Fehlermeldung zu vermeiden.
- `window.onerror` hinzugefügt, um den Fehler global zu unterdrücken und die Seite sofort neu zu laden.
- `try-catch` in `setupPolylines.js` eingefügt, um Fehler beim Schließen des Kontextmenüs abzufangen.
- Redux-Countdown-Management verbessert, um Timing-Konflikte zwischen `setupPolylines.js` und `MapComponent.js` zu verhindern.
- SetInterval durch Redux-Status gesteuert, um Synchronisation zwischen Polyline-Kontextmenü und Kartenaktualisierung zu gewährleisten.

🚀 Fehler tritt jetzt nicht mehr in der React-Oberfläche auf und wird automatisch behoben.
2025-03-10 22:33:27 +01:00
Ismail Ali
6c7b372291 Seite neu laden wenn die Fehler kommt , aber wird kurz angezeigt 2025-03-10 22:21:36 +01:00
Ismail Ali
cc716eb4e7 contextmenu, manchmal geht manchmal nicht, Timing Problem 2025-03-10 22:01:22 +01:00
ISA
8ab1c53996 fix: Behebt TypeError: Cannot read properties of null (reading 'contextmenu') mit Redux
- Implementiert `store.subscribe()` in `setupPolylines.js`, um das Kontextmenü-Handling über Redux zu steuern.
- Ersetzt `useDispatch()` und `useSelector()` durch `store.dispatch()` und `store.getState()` in einer Nicht-React-Datei.
- Fügt eine `forceClose`-Action in `polylineContextMenuSlice.js` hinzu, um das Kontextmenü synchron mit `setInterval` zu schließen.
- Stellt sicher, dass das Kontextmenü **immer vor Ablauf des 20-Sekunden-Intervalls** geschlossen wird.
- Verhindert doppelte Menüinstanzen und sorgt für ein stabiles Verhalten bei wiederholten Interaktionen.

 Fix für `TypeError: Cannot read properties of null (reading 'contextmenu')`
 **Verhindert Kontextmenü-Fehler beim automatischen Datenupdate**
 **Redux-gesteuerte Menüverwaltung für stabilere Performance**
 **Kein unerwartetes Offenbleiben oder erneutes Rendern des Menüs mehr**
2025-03-10 13:49:11 +01:00
ISA
1298ce3a81 POI hinzufügen auf die Kabelstrecken/Polylines ausgeblendert 2025-03-10 10:02:48 +01:00
ISA
b6c07bbc7d Fix: redrawPoline.js und POI hinzufgen auf die Karte in Kontextmenü 2025-03-10 08:34:52 +01:00
Ismail Ali
1f1ab4b818 fix: POI-Typ Auswahl korrigiert, Initialwert wird nun gesetzt
- Problem behoben, dass der erste POI-Typ (Index 0) nicht korrekt übernommen wurde
- useEffect hinzugefügt, um sicherzustellen, dass poiTypeId gesetzt wird, sobald Daten verfügbar sind
- Fehlerhafte Initialisierung von poiTypeId korrigiert, damit das Dropdown sofort den ersten Eintrag auswählt
2025-03-09 19:30:11 +01:00
Ismail Ali
74dfb354f5 refactor: API-URL in .env.local ausgelagert für zentrale Verwaltung
- `NEXT_PUBLIC_API_PORT_3000` in `.env.local` definiert
- `poiTypesSlice.js` so angepasst, dass die API-URL dynamisch aus `.env.local` geladen wird
- Harte URL entfernt, jetzt konfigurierbar ohne Code-Änderung
- Erfordert Neustart von Next.js, um `.env.local` zu laden
2025-03-09 19:00:17 +01:00
Ismail Ali
6f47709256 fix: Automatische Aktualisierung von Spiderfy/Unspiderfy im Intervall
- `map.fire("click")` im `setInterval()` hinzugefügt, um Linien sofort auszublenden
- Spiderfy/Unspiderfy wird nun regelmäßig aktualisiert, ohne manuelles Klicken
- Debugging-Log hinzugefügt, um Klick-Event zu überwachen
2025-03-09 18:46:38 +01:00
Ismail Ali
58d0f1a8a7 fix: Seite nach POI-Hinzufügen automatisch neu laden
- Problem mit der Icon-Aktualisierung nach dem Hinzufügen eines POI behoben
- Temporäre Lösung: `window.location.reload()` nach `handleSubmit`
- Redux bleibt weiterhin für POI-Typen aktiv, spätere Optimierung ohne Reload geplant
2025-03-09 18:13:43 +01:00
Ismail Ali
06e468e560 fix: Korrektur der Datenquelle für Geräte-Dropdown
- API-Antwort direkt analysiert: `Points` liegt auf oberster Ebene, nicht unter `data`
- Anpassung der Zuweisung: `const locationDeviceData = gisStationsStatic?.Points ?? [];`
- Dropdown wird nun korrekt mit Gerätenamen befüllt
2025-03-09 13:23:02 +01:00
Ismail Ali
42217e09e6 Umbenennung von ShowAddStationPopup.js in AddPOIModal.js für bessere Verständlichkeit" 2025-03-09 09:45:32 +01:00
Ismail Ali
ffb76857c7 feat(context-menu): Fix POI hinzufügen Modal und State-Handling
- `useMapContextMenu.js`:
  - `openPoiModal` in `addItemsToMapContextMenu` integriert, um Zugriff auf `setShowCoordinatesModal` und `setShowPoiModal` zu ermöglichen.
  - `setShowCoordinatesModal` wird korrekt als Parameter übergeben und verwaltet.
  - `POI hinzufügen`-Eintrag im Kontextmenü wurde verbessert.

- `MapComponent.js`:
  - `setShowCoordinatesModal`, `setShowPoiModal` und `setPopupCoordinates` werden jetzt korrekt an `addItemsToMapContextMenu` übergeben.
  - `ShowAddStationPopup` Modal öffnet sich jetzt korrekt und überlagert die Seite.
  - UI-Verbesserungen für Modale und Fix für doppeltes Öffnen von Modalen.

Fixes: Problem, dass mehrere Modale gleichzeitig geöffnet wurden und `setShowCoordinatesModal` nicht definiert war.
2025-03-09 09:37:01 +01:00
Ismail Ali
e4bb12fe18 WIP: POI hinzufügen Modal 2025-03-09 00:52:34 +01:00
Ismail Ali
c227b57f9b POI hinzufügen in useMapContextMenu.js aber noch kein Logik 2025-03-08 22:33:20 +01:00
Ismail Ali
d6a95f8885 feat: Animiertes Zoomen mit dynamischer Dauer hinzugefügt
- Leaflet `flyTo` für sanfte Zoom-Animationen implementiert.
- Zoom-Stufen auf max. 15 und min. 6 begrenzt.
- Dauer der Animation dynamisch auf 0.5s pro Zoomstufe gesetzt.
- Verbesserte Benutzererfahrung durch flüssige Zoom-Bewegungen.
2025-03-08 13:26:24 +01:00
Ismail Ali
806347f0dd feat: Fix Redux-Datenstruktur für GisStationsStaticDistrict und Bereichs-Dropdown
- `GisStationsStaticDistrict` wird jetzt korrekt aus Redux gelesen und verwendet `Points` als Array.
- Fehler `find is not a function` behoben durch Zugriff auf `GisStationsStaticDistrict.Points`.
- Sicherstellung, dass `Points` existiert, bevor darauf zugegriffen wird.
- Konsole-Logs für Debugging hinzugefügt, um leere oder ungültige Daten zu erkennen.
- Bereichsauswahl im Dropdown funktioniert jetzt korrekt und fliegt zur gewählten Station auf der Karte.

 Tested: Dropdown zeigt jetzt die `Area_Name`-Werte und `map.flyTo()` funktioniert korrekt.
2025-03-08 12:10:21 +01:00
Ismail Ali
8399a957b5 feat: API-Requests für GIS-Daten korrigiert und Redux-Integration gefixt
- Fehlerhafte Verwendung von `useRouter()` in `fetchGisStationsStaticDistrict.js` behoben
- `idMap` und `idUser` in allen API-Requests über URL-Parameter gesichert
- Alle API-Endpunkte getestet und sichergestellt, dass sie korrekt JSON-Daten liefern
- Debugging-Logs hinzugefügt und Redux-Fehlermeldungen beseitigt
- Jetzt erhalten alle Redux-Stores (`gisStationsStaticDistrict`, `gisStationsStatusDistrict`, `gisStationsMeasurements`, `gisSystemStatic`) erfolgreich die Daten

 Alle GIS-Daten werden jetzt korrekt in Redux gespeichert
2025-03-08 08:52:44 +01:00
Ismail Ali
28dbf80462 feat: API-URLs dynamisch aus .env.local statt config.js
- Alle API-URLs nutzen jetzt `process.env.NEXT_PUBLIC_API_BASE_URL`
- `fetchGisStationsMeasurements`, `fetchGisStationsStaticDistrict`, `fetchGisStationsStatusDistrict`, `fetchGisSystemStatic` angepasst
- `idMap` und `idUser` werden dynamisch aus URL oder `.env.local` bezogen
- Entfernte `config.js`-Abhängigkeit für API-URLs
- `.env.local` erlaubt jetzt flexible Server-IPs ohne Code-Anpassung
2025-03-08 08:06:07 +01:00
Ismail Ali
53ad8b3402 feat: GisSystemStatic in Redux integriert
- API-Response für GisSystemStatic in Redux Store gespeichert
- Server-IP aus `.env.local` geladen (`NEXT_PUBLIC_API_BASE_URL`)
- `idMap` und `idUser` aus URL-Parametern extrahiert
- fetchGisSystemStatic angepasst für dynamische Werte
- Redux Store aktualisiert und getestet
2025-03-07 23:50:42 +01:00
Ismail Ali
6636f841a2 feat: GisStationsMeasurements in Redux-Store integriert
- API-Loader für GisStationsMeasurements erstellt
- Redux-Slice für GisStationsMeasurements angelegt und im Store registriert
- Initialisierungs-Hook useInitGisStationsMeasurements hinzugefügt
- Daten werden jetzt beim Start automatisch geladen und zentral im Redux-Store gespeichert
- Vorbereitung für spätere Nutzung in UI-Komponenten
2025-03-07 22:33:47 +01:00
Ismail Ali
86d8e4924a feat: GisStationsStaticDistrict in Redux-Store integriert
- WebService-Endpoint für GisStationsStaticDistrict angebunden
- Daten beim Start der Anwendung automatisch geladen und in Redux gespeichert
- UI (DataSheet) verwendet die Daten direkt aus dem Redux-Store
- Fehlerhandling und Initialzustand in Redux-Slice verbessert
- Alte lokale Fetch-Logik entfernt, zentrale Datenhaltung über Redux
2025-03-07 22:20:21 +01:00
Ismail Ali
c57ae7717a feat: Geräte-Daten aus Redux-Store in POI-Bearbeiten-Modal integriert
- Geräte-Liste wird jetzt direkt aus dem Redux-Store (locationDevicesFromDB) verwendet.
- Dropdown-Menü zeigt alle verfügbaren Geräte aus der Datenbank.
- Beim Öffnen des Modals wird der vorher zugewiesene Gerätname automatisch ausgewählt (Pre-Selection).
- Cleanup und Optimierung: Keine separaten API-Calls mehr im Modal.
- Struktur verbessert durch Auslagerung der Lade-Logik in useInitLocationDevices Hook.
2025-03-07 20:52:00 +01:00