Commit Graph

142 Commits

Author SHA1 Message Date
ISA
4161bfa948 fix: playwright in dev mode in package.json 2025-08-20 13:18:01 +02:00
ISA
680c643ea5 feat: install playwright 2025-08-20 11:30:40 +02:00
ISA
7c525c11a1 del: cypress deinstall 2025-08-20 11:16:45 +02:00
ISA
9f05a4f63b feat(config): Map-Parameter (Zoom, Center, etc.) in config.json ausgelagert
- minZoom, maxZoom, center, zoomOutCenter und basePath in config.json konfigurierbar gemacht
- Kommentare zur Erklärung als _comment-Felder ergänzt
- initializeMap.js und zoomAndCenterUtils.js angepasst, um Werte aus config.json zu lesen
- OSM-Standards für Zoom-Stufen dokumentiert
2025-08-20 10:03:21 +02:00
ISA
26d869f029 fix: Geräte-Marker werden nur noch über LayerGroups verwaltet, doppelte Marker auf Karte verhindert
Geräte-Marker werden vor dem Hinzufügen aus LayerGroups entfernt und nur dort hinzugefügt
Keine direkte .addTo(map) mehr für Geräte-Marker
Debug-Ausgabe für Marker-Anzahl pro LayerGroup
Problem mit mehrfachen Markern auf der Karte behoben
2025-08-20 09:37:49 +02:00
ISA
0ea8e090d2 fix: Area (Bereich) im dropdown nur einmal anzeigen 2025-08-20 09:20:22 +02:00
ISA
9a2b438eaf feat: basePath-Konfiguration von .env in config.json verschoben
basePath wird jetzt in config.json gepflegt statt als NEXT_PUBLIC_BASE_PATH in .env.*
Alle relevanten Code-Stellen lesen basePath dynamisch aus config.json
Dokumentation und Beispiele in Markdown-Dateien entsprechend angepasst
Erhöhte Flexibilität für Deployments ohne Rebuild
2025-08-20 08:42:24 +02:00
ISA
bf4fc95b8e Fix Leaflet map initialization: prevent DOM errors and ensure robust container checks
- Refactored initializeMap to accept the DOM node instead of the ref object
- Updated all checks to use the DOM node directly
- Improved useInitializeMap to only call initializeMap when the container is ready
- Prevents "mapRef.current ist nicht definiert oder nicht im DOM" errors
- Ensures map is only initialized when the container is attached
2025-08-19 15:56:24 +02:00
ISA
db147543d9 docs: Hinweise zu public/config.json für Kartenquellen in README und Entwicklerdokumentation ergänzt
- Beispiel und Erklärung zur Konfiguration von tileSources in public/config.json hinzugefügt
- Dokumentation für Entwickler und Nutzer verständlicher
2025-08-19 14:55:45 +02:00
ISA
418651a2af Fix: Leaflet "Map container is already initialized" error is now handled gracefully
- Fehler beim mehrfachen Initialisieren der Leaflet-Map wird nun abgefangen
- Anwendung zeigt keine störende Fehlermeldung mehr im Frontend
- Verbesserte Nutzererfahrung beim Laden und Aktualisieren der Karte
2025-08-19 14:34:50 +02:00
ISA
bf5ee377a4 del: remove unused health check API 2025-08-19 08:41:17 +02:00
ISA
5c06abc85e Systeme mit Map === 0 vollständig ausgeblenden 2025-08-11 10:17:09 +02:00
ISA
7c89d8dae5 In Redux Slice mapLayersSlice
state[key] = system.Allow === 1 && system.Map === 1;
2025-08-11 10:04:03 +02:00
ISA
85266aa1ed GisSystemStytic system => system.IdSystem === 1 && system.Allow === 1 && system.Map === 1 dann anzeigen in controll panel 2025-08-11 08:52:46 +02:00
ISA
854eff668a cleanup after merge 2025-07-30 15:37:17 +02:00
ISA
8073c787bc Merge branch 'v306' into develop 2025-07-30 15:35:05 +02:00
ISA
4ee6d42a61 fix: Systemtyp Berechtigung der User werden nicht beachtet 2025-07-30 15:19:53 +02:00
ISA
53c670feba fix: Geräte-Marker für Systeme ohne Statusdaten anzeigen (z. B. GMA)
- `createAndSetDevices.js` angepasst, sodass Marker auch ohne `statusDistrictData` erzeugt werden.
- Problem behoben, dass Marker wie GMA trotz vorhandener Koordinaten und Sichtbarkeit nicht gezeichnet wurden.
- Sicherheitsprüfung für Statusdaten optional gemacht, um Systems ohne Messdaten darzustellen.
2025-07-30 11:13:34 +02:00
ISA
d8567a9928 feat: implement map-specific localStorage and TALAS-Kabelstrecken dependency logic
- Add map-specific localStorage keys using URL parameters (m=mapId, u=userId)
- Implement kartenspezifische Sichtbarkeitseinstellungen per Map/User
- Fix localStorage priority over GisSystemStatic Allow values to preserve user settings
- Add bidirectional TALAS ↔ Kabelstrecken dependency logic:
  * Kabelstrecken aktiviert → TALAS automatisch aktiviert
  * TALAS deaktiviert → Kabelstrecken automatisch deaktiviert
- Update mapLayersSlice.js to respect existing localStorage values over system defaults
- Modify MapComponent.js to load map-specific visibility settings on mount
- Update MapLayersControlPanel.js with kartenspezifische localStorage handling
- Fix useDynamicDeviceLayers.js visibility logic (corrected boolean conditions)
- Update useAreaMarkersLayer.js for map-specific localStorage keys

BREAKING CHANGES:
- localStorage structure changed from "mapLayersVisibility" to "mapLayersVisibility_m{mapId}_u{userId}"
- User visibility preferences now have priority over GisSystemStatic Allow values
- TALAS and Kabelstrecken are now logically linked (dependency relationship)

This resolves issues with:
- Map switching losing visibility settings
- Browser reload overriding user preferences with system defaults
- Missing logical connection between TALAS stations and their cable routes
2025-07-29 10:12:56 +02:00
ISA
6d33be56c0 feat: add automated deployment ZIP creation with PowerShell script
- Add create-deployment-zip.ps1 script for automated ZIP packaging
- Include npm scripts: build:deploy and create-zip for streamlined deployment
- Fix PowerShell encoding issues by replacing emojis with text labels
- Automatically package production-ready files: .next, public, .env.production, server.js, etc.
- ZIP filename uses package.json name and version (e.g., nodemap-1.1.305.zip)
- Add file existence validation and detailed logging for deployment process
- Clean temporary files after ZIP creation

The script creates a complete deployment package (84MB) containing all necessary
files for production deployment, streamlining the build and packaging workflow.
2025-07-29 08:35:13 +02:00
ISA
4755cefdd7 feat: implement device filtering based on GisSystemStatic Allow property
- Add Allow=1 filter in createAndSetDevices.js to hide devices with Allow=0
- Update mapLayersSlice.js setInitialLayers to respect Allow values for visibility
- Modify MapLayersControlPanel.js localStorage initialization to set visibility based on Allow property
- Only systems with Allow=1 are now visible by default, Allow=0 systems are hidden
- Ensures consistent filtering across device markers and layer visibility controls

This change addresses the requirement to hide stations/devices when their corresponding
IdSystem in GisSystemStatic.json has Allow=0, improving the map display by showing
only authorized/allowed systems to users.
2025-07-29 08:11:31 +02:00
ISA
37aec649ee feat: Geräte/Stations-Marker werden nur für Systeme mit Allow=1 angezeigt
- Geräte mit Allow=0 in GisSystemStatic werden auf der Karte ausgeblendet
- Daten bleiben unverändert, nur die Anzeige/Zeichnung ist
2025-07-28 16:21:48 +02:00
ISA
9d7a696f91 feat: Add persistent localStorage for Kabelstrecken (polylines) visibility
- Add kabelstreckenVisible state with localStorage persistence
- Implement dual localStorage variables (kabelstreckenVisible + polylineVisible) for compatibility
- Add event system for cross-component polyline visibility updates
- Update MapComponent to listen for polylineVisibilityChanged events
- Ensure polylines display correctly on browser reload
- Migrate from Redux-only state to localStorage-first approach
- Add comprehensive debug logging for troubleshooting

Fixes issue where Kabelstrecken checkbox state was lost on page reload
and polylines were not displayed until manual toggle.
2025-07-25 13:09:18 +02:00
ISA
56a2e305f1 feat: Dienst Dateien hinzugefügt 2025-07-25 10:15:38 +02:00
ISA
e1bfe7496b fix: Kabelstrecken-Checkbox und Anzeige an TALAS Allow-Status gekoppelt
- Checkbox für Kabelstrecken (polylines) wird deaktiviert, wenn TALAS (IdSystem: 1) Allow: 0 ist
- Polylinien werden auf der Karte nur angezeigt, wenn Allow: 1 für TALAS gesetzt ist
- Synchronisation zwischen UI
2025-07-25 10:08:45 +02:00
ISA
4e396a1b10 docs(gisPolylines): ✍️ README mit Datenfluss-Diagramm und Erklärung ergänzt
- Datenfluss zwischen Redux Slices, Thunks, Services und Komponenten visualisiert
- Mermaid-UML hinzugefügt zur Darstellung der Architektur
- Technischer Hintergrund für Einsteiger dokumentiert
- Hinweise zur Datenherkunft (Datenbank vs. TALAS.web WebService)
- Hilfe zur Fehlerbehebung z. B. bei fehlendem LD_Name im Tooltip
2025-06-25 11:02:43 +02:00
ISA
bc331eb7b2 docs: Karten Material Link in README.md hinzugefügt 2025-06-25 09:23:43 +02:00
ISA
016e1a927d refactor: Tooltip-Generierung für Linien ausgelagert und Anzeige von Stationsnamen (LD_Name) hinzugefügt
- `generateLineTooltipContent` in eigene Datei extrahiert
- `useLineData` angepasst, um Stationen aus `gisStationsStaticDistrict` zu übergeben
- Anzeige der Station im Tooltip nun über `LD_Name` statt `matchingLine.name`
- Bugfix: "Station: N/A" wird nun korrekt angezeigt
2025-06-25 08:43:26 +02:00
ISA
89403164c6 refactor: Tooltip-HTML-Generierung aus useLineData ausgelagert
- Funktion `generateLineTooltipContent` aus `useLineData.js` extrahiert
- Neue Datei: `components/gisPolylines/tooltip/generateLineTooltipContent.js`
- Trennung von Logik (Hook) und Darstellung (Tooltip-HTML)
- Verbesserte Lesbarkeit und Wiederverwendbarkeit der Tooltip-Generierung
2025-06-25 07:49:52 +02:00
ISA
7c4fbc3988 refactor: Komponenten-Hooks strukturiert und in passende UI-Unterverzeichnisse verschoben
- useLineData.js → components/gisPolylines/tooltip/
- useLayerVisibility.js → components/mapLayersControlPanel/hooks/
- useAreaMarkersLayer.js → components/area/hooks/
- useDynamicDeviceLayers.js → components/devices/hooks/
- useDataUpdater.js & useMapComponentState.js → components/hooks/

💡 Ziel: Alle UI-bezogenen Hooks an logische Stellen verschoben, um Wartbarkeit zu verbessern.
🔍 Vorteil: Schnellere Navigation bei UI-Fehlern oder Layout-Anpassungen.
2025-06-25 07:21:05 +02:00
ISA
4070429193 docs: 2025-06-24 15:07:00 +02:00
ISA
b6c6fad3b3 docs: uiWidgets icon bug in Gitea 2025-06-24 12:29:51 +02:00
ISA
12fec717d8 docs: uiWidget 2025-06-24 12:01:49 +02:00
ISA
fe3cc48769 docs: Version Info Moda 2025-06-24 11:46:53 +02:00
ISA
82963ead23 docs: VersionInfoModal 2025-06-24 11:29:47 +02:00
ISA
585c9ad9d7 doc:s: CoordinateInput 2025-06-24 11:19:57 +02:00
ISA
acab69b74d docs: MapLayersControlPanel 2025-06-24 11:13:39 +02:00
ISA
fa76c247b8 docs: MapLayersControlPanel <!-- /docs/components/uiWidgets/mapLayersControlPanel/MapLayersControlPanel.md --> 2025-06-24 09:56:28 +02:00
ISA
ecbbba8dbb docs: delete appVersion , because auto increment in package.json and env files 2025-06-24 09:43:15 +02:00
ISA
8894ce4411 docs: .env.local durch .env.production & .env.development ersetzt + Rücklinks & Footer ergänzt
- Alle Hinweise in Markdown-Dateien aktualisiert: Verwendung von `.env.production` und `.env.development` statt `.env.local`
- Footer-Abschnitte mit „Zurück zur Übersicht“-Link in allen relevanten `/docs/`-Dateien ergänzt
- Inhaltliche Korrekturen und Ergänzungen in Architektur-, Setup-, FAQ-, und Mockdaten-Dokumentation
- Inhaltsverzeichnis in `README.md` aktualisiert und funktionierende relative Links in Unterverzeichnissen sichergestellt
- Ziel: bessere Lesbarkeit, Navigation und Klarheit für neue Entwickler
2025-06-24 09:00:49 +02:00
ISA
0347ec9d98 docs: [Zurück zur Übersicht](../README.md) in Alle in README für jeder Verzeichnis 2025-06-24 08:22:48 +02:00
ISA
82a1e11797 docs: überarbeitete /docs/README.md 2025-06-24 07:17:36 +02:00
ISA
7b68534f7e docs: /docs/README.md 2025-06-24 07:07:43 +02:00
ISA
4a7328167c docs: docs/README 2025-06-24 06:58:56 +02:00
ISA
13ce14a703 docs 2025-06-23 15:00:56 +02:00
ISA
b6545b37ff fix. Bild in README.md 2025-06-23 14:51:54 +02:00
ISA
2ffaa6472a fix: Bild Pfad in 7docs/README.md 2025-06-23 14:47:37 +02:00
ISA
831ce5851a docs 2025-06-23 14:32:40 +02:00
ISA
1d3006df8e doc: README.md 2025-06-23 13:03:57 +02:00
ISA
be2c8ae699 docs: 2025-06-23 12:59:00 +02:00