Commit Graph

540 Commits

Author SHA1 Message Date
ISA
f4210a4776 Merge branch 'v1.0.8.1' into fix/ohne-externe-babel 2025-02-05 10:27:36 +01:00
ISA
b467ff3835 feat: Linienanzeige abhängig vom Status der Stationen (CPLs)
- Polylinien werden nur angezeigt, wenn die zugehörigen Stationen (CPLs) aktiv sind
- Redux speichert den Status der Stationen (1 = aktiv, 0 = inaktiv)
- setupPolylines.js überprüft jetzt direkt in Redux, ob eine Linie gezeichnet werden soll
- Entfernt den unnötigen activeLines-Parameter in MapComponent.js für eine bessere Struktur
- Optimierte Performance: Linien ändern sich dynamisch ohne Seiten-Reload
2025-02-04 09:27:42 +01:00
ISA
3e92fda934 WIP: referesh polyline wennactive oder inaktive sind (GIS Lines) 2025-02-03 15:56:57 +01:00
ISA
1f9286a6cf CPL nicht anzeigen wenn nicht Aktive ist idLD und Active Spalte in location_device, Status wird in Redux gespeichert für die ensprechende Linie(WIP) 2025-02-03 14:51:14 +01:00
ISA
e03dff4814 Redux: alle Active 1 und 0 speichern 2025-02-03 13:15:59 +01:00
Ismail Ali
5b2cb762cc fix: Behebt Endlosschleife und doppelte Recoil-Atom-Registrierung
- `index.js` als Client-Komponente deklariert (`"use client"`) zur Vermeidung von SSR-Problemen.
- `useEffect` optimiert, um unendliche API-Requests durch `isMounted`-Check zu verhindern.
- `loadData()` angepasst, um API-Fehler korrekt abzufangen und erneute Ladeversuche zu vermeiden.
- Doppelte Registrierung von `poiReadFromDbTriggerAtom` durch HMR verhindert.
- Ungültige MySQL-Option `acquireTimeout` entfernt, um Verbindungsfehler zu beheben.

Diese Änderungen verhindern unerwartete Reloads und verbessern die Stabilität der Anwendung.
2025-02-02 13:01:04 +01:00
Ismail Ali
47f1535883 Latidute und Longitude in Popuphinzugefügt 2025-01-17 22:37:47 +01:00
ismailali1553
486c1a903c Popup statt Modal ,um die Koordinaten zu kopieren 2025-01-17 22:16:12 +01:00
ismailali1553
e9abcacf1e Popup statt Modal für die Koordinaten kopieren 2025-01-17 20:20:53 +01:00
ismailali1553
f69f54dba9 Modal wird angezeigt, aber muss noch angepasst werden 2025-01-17 19:13:29 +01:00
ismailali1553
d8ab5bd0a5 Eingabefeld für Koordinaten 2025-01-17 14:32:03 +01:00
ISA
d7978790e1 feat: Proxy-APIs und Integrationstests für WebServices hinzugefügt
- Vier Proxy-Endpunkte implementiert:
  1. gisStationsStatusDistrict
  2. gisStationsStaticDistrict
  3. gisStationsMeasurements
  4. gisSystemStatic

- API-Integrationstests mit Jest für alle Endpunkte erstellt:
  - Tests verwenden echte API-Responses statt Mock-Daten.
  - Erfolgreiche Anfragen mit gültigen Parametern getestet.
  - Fehlende Parameter und ungültige Parameter getestet.

- Code enthält:
  - Dynamische URL-Generierung für Proxy-Weiterleitungen.
  - Prüfung von Headern, Statuscodes und JSON-Strukturen.
  - Unterstützung für CORS und OPTIONS-Anfragen.

- Ergebnis:
  - Alle Tests erfolgreich bestanden.
  - APIs bereit für produktive Nutzung und Erweiterungen.
2025-01-03 14:02:29 +01:00
ISA
20a2abd9b6 feat: API-Proxy für SOAP-Webservice implementiert
- API-Route hinzugefügt: /api/gisStationsStaticDistrict
- Dynamisches Lesen von URL-Parametern (idMap, idUser) aus Anfrage
- SOAP-Anfrage an ASP.NET-Webservice weitergeleitet
- XML-Antwort verarbeitet und zurückgegeben
- CORS-Header und OPTIONS-Preflight für Sicherheit konfiguriert
- Fehlerbehandlung und Debug-Logs integriert
2025-01-02 13:59:18 +01:00
ISA
e6dff1dcf8 test: Überprüfung der Kartenladung, Kontextmenü und Geräte-URL-Erreichbarkeit
- Stellt sicher, dass die Karte erfolgreich geladen wird und sichtbar ist.
- Simuliert Rechtsklick auf Marker und überprüft, ob das Kontextmenü erscheint.
- Validiert die Sichtbarkeit des Menüeintrags "Station öffnen (Tab)" im Kontextmenü.
- Testet, ob ein Klick auf den Menüeintrag "Station öffnen (Tab)" , dass das  Gerät in einem Tab öffnet.
- Überprüft, ob die URL des geöffneten Geräts den HTTP-Status 200 zurückgibt (erreichbar).
- Fügt Logs und Screenshots zur Fehlerbehebung hinzu.
2025-01-02 08:42:31 +01:00
ISA
65109cc953 Koordinaten kopieren 2024-12-30 12:19:30 +01:00
ISA
3fc5da6667 Koordinaten anzeigen 2024-12-30 12:12:23 +01:00
ISA
7ccec2bde4 Kommentar für Bereichsmarker 2024-12-30 09:25:57 +01:00
ISA
79111365a2 feat: Bereichsmarker dynamisch an Editiermodus gekoppelt
Bereichsmarker werden jetzt nur angezeigt, wenn der editMode aktiviert ist.
Marker werden bei deaktiviertem editMode aus der Karte entfernt.
Dynamische Überwachung von Änderungen im editMode über localStorage und Event Listener implementiert.
Dragging für Marker im editMode aktiviert und Z-Index angepasst.
2024-12-30 09:22:43 +01:00
ISA
ee69f85734 icons nur grün da und erstemal statische Farbe mit Level in createAndSetDevice.js 2024-12-28 11:47:47 +01:00
ISA
d2715466e3 APP_VERSION = "1.0.18.0"
feat: GeocoderFeature mit Feature Toggle und Anpassungen integriert

- GeocoderFeature als separates Modul implementiert und initialisiert.
- Feature Toggle für Geocoder in .env.local hinzugefügt (NEXT_PUBLIC_ENABLE_GEOCODER).
- Dynamische Aktivierung des Geocoders über MapComponent.js basierend auf Feature-Flag.
- Anpassungen zur Entfernung bzw. Anpassung der Fehlermeldung "Nothing found".
- Styling-Verbesserungen für das Suchfeld mit Tailwind CSS.
2024-12-27 09:18:20 +01:00
ISA
c68522bd88 Merge branch 'develop' 2024-12-27 08:30:26 +01:00
ISA
4276eec853 feat: GeocoderFeature mit Feature Toggle und Anpassungen integriert
- GeocoderFeature als separates Modul implementiert und initialisiert.
- Feature Toggle für Geocoder in .env.local hinzugefügt (NEXT_PUBLIC_ENABLE_GEOCODER).
- Dynamische Aktivierung des Geocoders über MapComponent.js basierend auf Feature-Flag.
- Anpassungen zur Entfernung bzw. Anpassung der Fehlermeldung "Nothing found".
- Styling-Verbesserungen für das Suchfeld mit Tailwind CSS.
2024-12-27 08:04:25 +01:00
ISA
5483ca83a4 fix: Suchfeld optimiert und alle unnötigen Elemente entfernt
- Container vereinfacht und auf Volle-Breite-Layout umgestellt.
- Überflüssige Elemente im Suchfeld (z.B. Buttons) entfernt.
- Eingabefeld auf maximale Breite erweitert.
- Platzhaltertext auf Deutsch gesetzt.
2024-12-23 14:11:08 +01:00
ISA
fdac9b6901 feat: Geocoder-Suchfeld zur Karte hinzugefügt
- Leaflet-Control-Geocoder integriert, um die Suche nach Koordinaten und Adressen zu ermöglichen.
- Suchfeld in der oberen linken Ecke platziert.
- Automatische Marker-Platzierung und Popup-Anzeige bei erfolgreicher Suche implementiert.
- Layer-Gruppen initialisiert und Suchfeld nach Layer-Setup hinzugefügt.
2024-12-23 12:30:45 +01:00
ISA
c2f5fa3054 feat: Migration von selectedPoiSlice von Recoil zu Redux-Toolkit Slice
- Recoil Atom 'selectedPoiState' entfernt und durch Redux-Toolkit Slice ersetzt.
- Redux Actions hinzugefügt: setSelectedPoi, clearSelectedPoi.
- Selektor 'selectSelectedPoi' erstellt, um POI-Daten zu lesen.
- Komponenten angepasst (PoiUpdateModal, PoiUpdateModalWrapper, MapComponent), um Redux-Hooks zu verwenden.
- Reducer in rootReducer und store.js registriert.
- Funktionalität getestet und Fehlerbehebung implementiert.
2024-12-23 11:47:28 +01:00
ISA
2f39e26225 feat: Migration von urlParameterSlice von Recoil Atom zu Redux-Toolkit Slice
- Recoil Atom für urlParameterSlice entfernt und durch Redux-Toolkit Slice ersetzt.
- Neue Actions `setMapId` und `setUserId` hinzugefügt, um Parameter zu aktualisieren.
- Selektoren `selectMapId` und `selectUserId` erstellt, um Parameter aus dem Zustand zu lesen.
- Standardwerte für `mapId` und `userId` entfernt; stattdessen Werte aus der URL geladen.
- Fehlermeldung hinzugefügt, wenn erforderliche URL-Parameter fehlen.
- Zustand wird jetzt dynamisch beim Laden der Seite über die URL gesetzt.
2024-12-23 11:30:31 +01:00
ISA
99c430777c feat: Migration von zoomTriggerSlice von Recoil zu Redux Toolkit
- Ersetzung des Recoil Atoms 'zoomTriggerState' durch Redux Toolkit Slice.
- Hinzugefügt: Aktionen für incrementZoomTrigger, decrementZoomTrigger, resetZoomTrigger und setZoomTrigger.
- Implementierung von Redux-Selektoren zum Zugriff auf den zoomTrigger-Zustand.
- Aktualisierung der Komponenten (MapComponent.js, DataSheet.js) auf Redux-Hooks (useSelector, useDispatch).
- Registrierung des zoomTriggerReducers im rootReducer und store.js.
- Überprüfung der Zoom In/Out-Funktionalität sowie Integration von Event-Handling für Mausrad und Kontextmenü.
2024-12-23 10:51:24 +01:00
ISA
1678cd162f feat: Fetch-Logik für Webservice-Daten in useFetchWebServiceMap Hook ausgelagert
- Fetch-Logik für GIS-Daten aus MapComponent.js ausgelagert.
- Neuer Hook: useFetchWebServiceMap im hooks-Verzeichnis hinzugefügt.
- Modularisierung und Wiederverwendbarkeit verbessert.
2024-12-22 07:22:06 +01:00
ISA
63aa07702c feat: Fetch-Logik für Benutzerrechte in useFetchUserRights Hook ausgelagert
- Fetch-Logik für Benutzerrechte aus MapComponent.js in einen separaten Hook ausgelagert.
- Neuer Hook: useFetchUserRights im hooks-Verzeichnis hinzugefügt.
- Verbesserung der Modularität und Wiederverwendbarkeit.
2024-12-22 07:16:10 +01:00
ISA
c491b7cf9e Format document 2024-12-22 07:08:47 +01:00
ISA
d0811366f5 feat: Marker-Layer-Logik in useDynamicMarkerLayers Hook ausgelagert
- Logik zur Initialisierung und Aktualisierung von Marker-Layern aus MapComponent.js ausgelagert.
- Neuer Hook: useDynamicMarkerLayers im hooks-Verzeichnis hinzugefügt.
- Modularisierung und Wiederverwendbarkeit verbessert.
2024-12-22 07:07:09 +01:00
ISA
2392d410be feat: GMA-Datenaktualisierung in useUpdateGmaData Hook ausgelagert
- Fetch-Logik zum Aktualisieren der Tooltip-Werte aus MapComponent.js ausgelagert.
- Neuer Hook: useUpdateGmaData im hooks-Verzeichnis hinzugefügt.
- Verbesserung der Modularität und Wiederverwendbarkeit.
2024-12-22 06:53:07 +01:00
ISA
808673cb13 feat: Fetch-Logik für Prioritätskonfiguration in useFetchPriorityConfig Hook ausgelagert
- Fetch-Logik für Prioritätskonfiguration aus MapComponent.js in einen separaten Hook ausgelagert.
- Neuer Hook: useFetchPriorityConfig im hooks-Verzeichnis hinzugefügt.
- Verbesserung der Modularität und Wiederverwendbarkeit.
2024-12-22 06:49:19 +01:00
ISA
7a1d629eef feat: Fetch-Logik für Linienstatusdaten in useFetchLineStatusData Hook ausgelagert
- Fetch-Logik für Linienstatusdaten aus MapComponent.js in einen separaten Hook ausgelagert.
- Neuer Hook: useFetchLineStatusData im hooks-Verzeichnis hinzugefügt.
- Verbesserung der Modularität und Wiederverwendbarkeit.
2024-12-21 20:28:48 +01:00
ISA
9b7dbe2acf refactor: Polyline-Tooltip in usePolylineTooltipLayer Hook ausgelagert 2024-12-21 18:27:45 +01:00
ISA
b4c887a4da feat: Polyline-Tooltip-Logik ausgelagert in usePolylineTooltipLayer Hook
- Tooltip-Logik für Polylinien aus MapComponent.js in eigenen Hook ausgelagert.
- Neuer Hook: usePolylineTooltipLayer im hooks-Verzeichnis hinzugefügt.
- Dynamische Tooltip-Ausrichtung basierend auf Mausposition implementiert.
- Flexibilität für zukünftige Anpassungen verbessert.
2024-12-21 18:24:34 +01:00
ISA
a82a92e89a muss noch für update der Bereich Marker gearbeitet werden 2024-12-20 14:50:30 +01:00
ISA
6155561f14 feat: Dynamische Hostname- und Portunterstützung für API-Aufrufe implementiert
- Hostname dynamisch aus `window.location.hostname` extrahiert
- Port 3000 explizit in der URL ergänzt
- Fehler beim Parsen von JSON behoben (404-HTML-Antwort statt JSON)
- Verbesserte Fehlerprotokollierung und Debugging-Logs in `useBereicheMarkersLayer.js`
- Tooltip-Anzeige für Bereich und Standort optimiert
2024-12-20 14:22:41 +01:00
ISA
bf6048a9a4 Bereich Tooltip Bereich und Standort enthalten 2024-12-20 13:29:49 +01:00
ISA
38b43cbe48 bereich.png erstellt und bei editMode active marker.setZIndexOffset(1000); 2024-12-20 08:10:45 +01:00
ISA
2adca70ba5 feat: Migration von gisStationsStaticDistrictState von Recoil zu Redux
- Recoil-Atom 'gisStationsStaticDistrictState' in ein Redux-Slice umgewandelt.
- fetchGisStationsStaticDistrict angepasst, um Redux-Dispatch zu verwenden.
- MapComponent.js und DataSheet.js refaktoriert, um Redux zu integrieren.
- fetchOptions für API-Anfragen hinzugefügt.
- Zentrale Zustandsverwaltung mit Redux sichergestellt.
2024-12-20 06:51:55 +01:00
ISA
58a71962fc feat: Automatische Aktivierung der TALAS-Checkbox bei Aktivierung von Kabelstrecken
- Logik hinzugefügt, um die TALAS-Checkbox automatisch zu aktivieren, wenn die Kabelstrecken-Checkbox aktiviert wird.
- Aktualisierung von `mapLayersVisibility` integriert, um den neuen Zustand zu synchronisieren.
- Synchronisation mit `localStorage` sichergestellt, um Konsistenz zwischen Zustand und persistentem Speicher zu gewährleisten.
- Verbesserung der Benutzerfreundlichkeit durch automatische Abhängigkeitsverwaltung.
2024-12-19 14:52:22 +01:00
ISA
296214fed0 feat: Abhängigkeit zwischen TALAS und Kabelstrecken-Checkbox implementiert
- Wenn die TALAS-Checkbox deaktiviert wird, wird die Kabelstrecken-Checkbox automatisch deaktiviert.
- Separates Update für `polylineVisible` hinzugefügt, um Konflikte mit Recoil-Regeln zu vermeiden.
- Zustand und localStorage synchronisiert, um konsistente Sichtbarkeiten zu gewährleisten.
- Verbesserte Benutzererfahrung durch automatische Deaktivierung abhängiger Optionen.
2024-12-19 14:48:32 +01:00
ISA
040a7c19ce feat: Verschachtelung von Kabelstrecken-Checkbox unter TALAS hinzugefügt
- Die Checkbox für "Kabelstrecken" wird jetzt als Untermenü unter "TALAS" angezeigt.
- Dynamische Überprüfung von `system.name`, um die Hierarchie von Checkboxen zu definieren.
- Visuelle Einrückung (`ml-6`) implementiert, um die Untermenü-Struktur klar darzustellen.
- Anpassungen für eine klare und intuitive Benutzeroberfläche.
2024-12-19 14:34:21 +01:00
ISA
aef5ec216b Flexibilität: Der Wert für m ist jetzt dynamisch und hängt von der aktuellen URL ab 2024-12-19 14:24:44 +01:00
ISA
3c79a297fd feat: Dynamische Sichtbarkeit von Bereichs-Markern basierend auf Layer-Status implementiert
- Hinzugefügt: Logik zur Überprüfung von mapLayersVisibility aus localStorage.
- Kombiniert: `storage`-Event-Listener und regelmäßige Überprüfung mit `setInterval`.
- Verhindert unnötige DOM-Updates durch Verwendung von `useRef` zur Nachverfolgung des letzten Sichtbarkeitsstatus.
- Bereiche werden nun korrekt angezeigt/ausgeblendet, wenn Layer-Checkboxen geändert werden.
2024-12-19 13:45:51 +01:00
ISA
f7defe8bec fix: Sichtbarkeitsprobleme von Markern und Plus-Icons behoben
- Initiales Laden der Marker entsprechend der lokalen Speicherwerte (localStorage) korrigiert.
- Plus-Icons wird nun dynamisch aktualisiert, wenn Checkboxen geändert werden.
- Event-Listener für Sichtbarkeitsänderungen hinzugefügt, um Marker und Plus-Icons ohne Neuladen zu aktualisieren.
- Allgemeine Konsistenz zwischen `mapLayersVisibility` und tatsächlicher Sichtbarkeit der Layer verbessert.
2024-12-19 10:17:02 +01:00
ISA
ecaf21917e initial Marker werden wie erwartet auf die Karte gezeichnet, aber Plus Icon wird sich nicht aktualisiert, es muss dafür die Seite neu geladen wird 2024-12-19 09:56:02 +01:00
ISA
7d43759b64 refactor: ausgelagert die Linien-Zeichnungslogik in einen separaten Hook
- Die Logik zum Abrufen und Zeichnen von Linien wurde in den neuen Hook `useDrawLines` ausgelagert.
- Dies verbessert die Übersichtlichkeit in `MapComponent.js` und ermöglicht eine einfachere Wiederverwendung und Wartung.
- Der neue Hook befindet sich im Verzeichnis `hooks/layers/`.
2024-12-19 08:57:19 +01:00
ISA
07c35392df viel Layers auskommentiert 2024-12-19 08:39:29 +01:00