From 5f0133d638d6714256f27b63aae386b271e063f2 Mon Sep 17 00:00:00 2001 From: ISA Date: Wed, 28 May 2025 08:04:34 +0200 Subject: [PATCH] docs --- config/appVersion.js | 2 +- docs/redux/slices/addPoiOnPolylineSlice.md | 17 ----- docs/redux/slices/currentPoiSlice.md | 22 ------ .../slices/database/area/updateAreaSlice.md | 40 +++++++++++ .../locationDevice/locationDevicesSlice.md | 45 ++++++++++++ .../database/pois/addPoiOnPolylineSlice.md | 3 + .../redux/slices/database/pois/addPoiSlice.md | 3 + .../slices/database/pois/currentPoiSlice.md | 3 + .../slices/database/pois/poiIconsDataSlice.md | 3 + .../database/pois/poiLayerVisibleSlice.md | 3 + .../slices/database/pois/poiMarkersSlice.md | 3 + .../pois/poiReadFromDbTriggerSlice.md | 3 + .../redux/slices/database/pois/poiTypSlice.md | 3 + .../slices/database/pois/poiTypesSlice.md | 3 + .../database/pois/readPoiMarkersStoreSlice.md | 3 + .../slices/database/pois/selectedPoiSlice.md | 3 + .../database/polylines/gisLinesSlice.md | 25 +++++++ .../polylines/polylineContextMenuSlice.md | 25 +++++++ .../polylines/polylineEventsDisabledSlice.md | 16 +++++ .../polylines/polylineLayerVisibleSlice.md | 21 ++++++ .../updatePolylineCoordinatesSlice.md | 22 ++++++ docs/redux/slices/lineVisibilitySlice.md | 24 ++++--- docs/redux/slices/mapLayersSlice.md | 23 ++++-- docs/redux/slices/poiLayerVisibleSlice.md | 16 ----- .../redux/slices/poiReadFromDbTriggerSlice.md | 16 ----- docs/redux/slices/poiTypesSlice.md | 71 ------------------- docs/redux/slices/polylineContextMenuSlice.md | 23 ------ .../slices/polylineEventsDisabledSlice.md | 16 ----- .../redux/slices/polylineLayerVisibleSlice.md | 15 ---- docs/redux/slices/readPoiMarkersStoreSlice.md | 16 ----- docs/redux/slices/selectedAreaSlice.md | 16 +++++ docs/redux/slices/selectedDeviceSlice.md | 14 ++-- docs/redux/slices/selectedPoiSlice.md | 14 ---- docs/redux/slices/urlParameterSlice.md | 18 ++--- .../slices/webService/gisLinesStatusSlice.md | 25 +++++++ .../gisStationsMeasurementsSlice.md | 25 ++++--- .../gisStationsStaticDistrictSlice.md | 27 ++++--- .../webService/gisStationsStaticSlice.md | 26 ------- .../gisStationsStatusDistrictSlice.md | 25 ++++--- .../slices/webService/gisSystemStaticSlice.md | 28 ++++---- .../slices/webService/userRightsSlice.md | 26 +++++++ docs/redux/slices/zoomTriggerSlice.md | 20 +++--- .../thunks/database/area/updateAreaThunk.md | 25 +++++++ .../database/fetchLocationDevicesThunk.md | 15 ++++ .../database/fetchPriorityConfigThunk.md | 15 ++++ .../thunks/database/getDeviceIdByNameThunk.md | 16 +++++ .../fetchLocationDevicesThunk (1).md | 37 ++++++++++ .../redux/thunks/database/pois/addPoiThunk.md | 21 ++++++ .../thunks/database/pois/deletePoiThunk.md | 16 +++++ .../database/pois/fetchPoiIconsDataThunk.md | 15 ++++ .../database/pois/fetchPoiMarkersThunk.md | 15 ++++ .../thunks/database/pois/fetchPoiTypThunk.md | 15 ++++ .../thunks/database/pois/updatePoiThunk.md | 20 ++++++ .../database/polylines/fetchGisLinesThunk.md | 16 +++++ .../updatePolylineCoordinatesThunk.md | 20 ++++++ .../webservice/fetchGisLinesStatusThunk.md | 16 +++++ .../fetchGisStationsMeasurementsThunk.md | 15 ++++ .../fetchGisStationsStaticDistrictThunk.md | 15 ++++ .../fetchGisStationsStatusDistrictThunk.md | 15 ++++ .../webservice/fetchGisSystemStaticThunk.md | 15 ++++ .../thunks/webservice/fetchUserRightsThunk.md | 16 +++++ .../database/area/updateAreaService.md | 37 ++++++++++ .../database/fetchDeviceNameByIdService.md | 23 +++++- .../services/database/fetchGisLinesService.md | 65 ----------------- .../database/fetchLocationDevicesService.md | 21 ++++++ docs/services/database/fetchPoiDataService.md | 5 -- .../database/fetchPriorityConfigService.md | 17 +++++ .../database/getDeviceIdByNameService.md | 22 ++++++ .../fetchLocationDevicesService.md | 21 ++++++ docs/services/database/pois/addPoiService.md | 22 ++++++ .../database/pois/deletePoiService.md | 15 ++++ .../database/pois/fetchPoiDataByIdService.md | 15 ++++ .../database/pois/fetchPoiDataService.md | 15 ++++ .../database/pois/fetchPoiIconsDataService.md | 15 ++++ .../database/pois/fetchPoiMarkersService.md | 15 ++++ .../database/pois/fetchPoiTypService.md | 15 ++++ .../database/pois/updatePoiService.md | 21 ++++++ .../polylines/fetchGisLinesService.md | 19 +++++ .../updatePolylineCoordinatesService.md | 24 +++++++ .../updateLocationInDatabaseService.md | 23 ++++-- docs/services/utils/fetchWithTimeout.md | 48 +++++++++++-- .../webservice/fetchGisLinesStatusService.md | 16 +++-- .../fetchGisStationsMeasurementsService.md | 18 +++-- .../fetchGisStationsStaticDistrictService.md | 18 +++-- .../fetchGisStationsStatusDistrictService.md | 17 +++-- .../webservice/fetchGisSystemStaticService.md | 18 +++-- .../webservice/fetchUserRightsService.md | 18 +++-- docs/utils/addContextMenuToMarker.md | 28 ++++++++ docs/utils/contextMenuUtils.md | 14 ++++ docs/utils/geometryUtils.md | 14 ++++ docs/utils/initializeMap.md | 15 ++++ docs/utils/mapUtils.md | 10 +++ docs/utils/markerUtils.md | 14 ++++ docs/utils/mysqlPool.md | 16 +++++ docs/utils/openInNewTab.md | 15 ++++ docs/utils/openInSameWindow.md | 15 ++++ docs/utils/poiUtils.md | 14 ++++ docs/utils/polylines/contextMenu.md | 10 +++ docs/utils/polylines/eventHandlers.md | 10 +++ docs/utils/polylines/monitorContextMenu.md | 10 +++ docs/utils/polylines/polylineSubscription.md | 10 +++ docs/utils/polylines/redrawPolyline.md | 14 ++++ docs/utils/polylines/setupPolylines.md | 9 ++- docs/utils/setupDevices.md | 15 ++++ docs/utils/setupPOIs.md | 2 + docs/utils/zoomAndCenterUtils.md | 10 +++ package-lock.json | 2 +- 107 files changed, 1446 insertions(+), 454 deletions(-) delete mode 100644 docs/redux/slices/addPoiOnPolylineSlice.md delete mode 100644 docs/redux/slices/currentPoiSlice.md create mode 100644 docs/redux/slices/database/area/updateAreaSlice.md create mode 100644 docs/redux/slices/database/locationDevice/locationDevicesSlice.md create mode 100644 docs/redux/slices/database/pois/addPoiOnPolylineSlice.md create mode 100644 docs/redux/slices/database/pois/addPoiSlice.md create mode 100644 docs/redux/slices/database/pois/currentPoiSlice.md create mode 100644 docs/redux/slices/database/pois/poiIconsDataSlice.md create mode 100644 docs/redux/slices/database/pois/poiLayerVisibleSlice.md create mode 100644 docs/redux/slices/database/pois/poiMarkersSlice.md create mode 100644 docs/redux/slices/database/pois/poiReadFromDbTriggerSlice.md create mode 100644 docs/redux/slices/database/pois/poiTypSlice.md create mode 100644 docs/redux/slices/database/pois/poiTypesSlice.md create mode 100644 docs/redux/slices/database/pois/readPoiMarkersStoreSlice.md create mode 100644 docs/redux/slices/database/pois/selectedPoiSlice.md create mode 100644 docs/redux/slices/database/polylines/gisLinesSlice.md create mode 100644 docs/redux/slices/database/polylines/polylineContextMenuSlice.md create mode 100644 docs/redux/slices/database/polylines/polylineEventsDisabledSlice.md create mode 100644 docs/redux/slices/database/polylines/polylineLayerVisibleSlice.md create mode 100644 docs/redux/slices/database/polylines/updatePolylineCoordinatesSlice.md delete mode 100644 docs/redux/slices/poiLayerVisibleSlice.md delete mode 100644 docs/redux/slices/poiReadFromDbTriggerSlice.md delete mode 100644 docs/redux/slices/poiTypesSlice.md delete mode 100644 docs/redux/slices/polylineContextMenuSlice.md delete mode 100644 docs/redux/slices/polylineEventsDisabledSlice.md delete mode 100644 docs/redux/slices/polylineLayerVisibleSlice.md delete mode 100644 docs/redux/slices/readPoiMarkersStoreSlice.md create mode 100644 docs/redux/slices/selectedAreaSlice.md delete mode 100644 docs/redux/slices/selectedPoiSlice.md create mode 100644 docs/redux/slices/webService/gisLinesStatusSlice.md delete mode 100644 docs/redux/slices/webService/gisStationsStaticSlice.md create mode 100644 docs/redux/slices/webService/userRightsSlice.md create mode 100644 docs/redux/thunks/database/area/updateAreaThunk.md create mode 100644 docs/redux/thunks/database/fetchLocationDevicesThunk.md create mode 100644 docs/redux/thunks/database/fetchPriorityConfigThunk.md create mode 100644 docs/redux/thunks/database/getDeviceIdByNameThunk.md create mode 100644 docs/redux/thunks/database/locationDevice/fetchLocationDevicesThunk (1).md create mode 100644 docs/redux/thunks/database/pois/addPoiThunk.md create mode 100644 docs/redux/thunks/database/pois/deletePoiThunk.md create mode 100644 docs/redux/thunks/database/pois/fetchPoiIconsDataThunk.md create mode 100644 docs/redux/thunks/database/pois/fetchPoiMarkersThunk.md create mode 100644 docs/redux/thunks/database/pois/fetchPoiTypThunk.md create mode 100644 docs/redux/thunks/database/pois/updatePoiThunk.md create mode 100644 docs/redux/thunks/database/polylines/fetchGisLinesThunk.md create mode 100644 docs/redux/thunks/database/polylines/updatePolylineCoordinatesThunk.md create mode 100644 docs/redux/thunks/webservice/fetchGisLinesStatusThunk.md create mode 100644 docs/redux/thunks/webservice/fetchGisStationsMeasurementsThunk.md create mode 100644 docs/redux/thunks/webservice/fetchGisStationsStaticDistrictThunk.md create mode 100644 docs/redux/thunks/webservice/fetchGisStationsStatusDistrictThunk.md create mode 100644 docs/redux/thunks/webservice/fetchGisSystemStaticThunk.md create mode 100644 docs/redux/thunks/webservice/fetchUserRightsThunk.md create mode 100644 docs/services/database/area/updateAreaService.md delete mode 100644 docs/services/database/fetchGisLinesService.md create mode 100644 docs/services/database/fetchLocationDevicesService.md delete mode 100644 docs/services/database/fetchPoiDataService.md create mode 100644 docs/services/database/fetchPriorityConfigService.md create mode 100644 docs/services/database/getDeviceIdByNameService.md create mode 100644 docs/services/database/locationDevice/fetchLocationDevicesService.md create mode 100644 docs/services/database/pois/addPoiService.md create mode 100644 docs/services/database/pois/deletePoiService.md create mode 100644 docs/services/database/pois/fetchPoiDataByIdService.md create mode 100644 docs/services/database/pois/fetchPoiDataService.md create mode 100644 docs/services/database/pois/fetchPoiIconsDataService.md create mode 100644 docs/services/database/pois/fetchPoiMarkersService.md create mode 100644 docs/services/database/pois/fetchPoiTypService.md create mode 100644 docs/services/database/pois/updatePoiService.md create mode 100644 docs/services/database/polylines/fetchGisLinesService.md create mode 100644 docs/services/database/polylines/updatePolylineCoordinatesService.md create mode 100644 docs/utils/addContextMenuToMarker.md create mode 100644 docs/utils/contextMenuUtils.md create mode 100644 docs/utils/geometryUtils.md create mode 100644 docs/utils/initializeMap.md create mode 100644 docs/utils/mapUtils.md create mode 100644 docs/utils/markerUtils.md create mode 100644 docs/utils/mysqlPool.md create mode 100644 docs/utils/openInNewTab.md create mode 100644 docs/utils/openInSameWindow.md create mode 100644 docs/utils/poiUtils.md create mode 100644 docs/utils/polylines/contextMenu.md create mode 100644 docs/utils/polylines/eventHandlers.md create mode 100644 docs/utils/polylines/monitorContextMenu.md create mode 100644 docs/utils/polylines/polylineSubscription.md create mode 100644 docs/utils/polylines/redrawPolyline.md create mode 100644 docs/utils/setupDevices.md create mode 100644 docs/utils/zoomAndCenterUtils.md diff --git a/config/appVersion.js b/config/appVersion.js index 774c1d3ce..3514beb22 100644 --- a/config/appVersion.js +++ b/config/appVersion.js @@ -1,2 +1,2 @@ // /config/appVersion -export const APP_VERSION = "1.1.195"; +export const APP_VERSION = "1.1.196"; diff --git a/docs/redux/slices/addPoiOnPolylineSlice.md b/docs/redux/slices/addPoiOnPolylineSlice.md deleted file mode 100644 index 63a203f47..000000000 --- a/docs/redux/slices/addPoiOnPolylineSlice.md +++ /dev/null @@ -1,17 +0,0 @@ -# ➕ addPoiOnPolylineSlice - -Verwaltet den Status für das Hinzufügen eines POIs auf einer bestehenden Polyline. - -## 🔧 Zustand - -```ts -{ - isOpen: false, - latlng: null -} -``` - -## 🎯 Aktionen - -- `openAddPoiOnPolylineModal(latlng)` – öffnet das Modal mit Koordinaten -- `closeAddPoiOnPolylineModal()` – schließt das Modal \ No newline at end of file diff --git a/docs/redux/slices/currentPoiSlice.md b/docs/redux/slices/currentPoiSlice.md deleted file mode 100644 index 3dc2eba95..000000000 --- a/docs/redux/slices/currentPoiSlice.md +++ /dev/null @@ -1,22 +0,0 @@ -# 📍 currentPoiSlice - -Verwaltet den aktuell ausgewählten POI (z. B. für Bearbeitung oder Anzeige im Modal). - -## 🔧 Zustand - -```ts -{ - currentPoi: null -} -``` - -## 🎯 Aktionen - -- `setCurrentPoi(poi)` – setzt den aktiven POI -- `clearCurrentPoi()` – löscht aktuellen POI - -## 🔎 Selector - -```ts -selectCurrentPoi = (state) => state.currentPoi.currentPoi; -``` \ No newline at end of file diff --git a/docs/redux/slices/database/area/updateAreaSlice.md b/docs/redux/slices/database/area/updateAreaSlice.md new file mode 100644 index 000000000..4c46aefd1 --- /dev/null +++ b/docs/redux/slices/database/area/updateAreaSlice.md @@ -0,0 +1,40 @@ + + +# 🧩 updateAreaSlice.js + +Redux-Slice zur Verwaltung des Update-Zustands beim Aktualisieren eines Bereichs (Area). + +--- + +## Zustand + +```js +{ + status: "idle" | "loading" | "succeeded" | "failed", + error: string | null +} +``` + +--- + +## Thunk + +- `updateAreaThunk`: Führt den API-Call zum Speichern von `x`, `y` für `idLocation` & `idMaps` durch. + +--- + +## Aktionen + +- `resetUpdateAreaStatus()`: Setzt Status auf `"idle"` und entfernt Fehler + +--- + +## Verwendung + +In der Komponente `useAreaMarkersLayer.js` beim Ziehen und Speichern von Stationsmarkern. + +--- + +## Fehlerbehandlung + +- Fehlernachricht wird in `error` gespeichert, falls `updateAreaThunk` fehlschlägt. \ No newline at end of file diff --git a/docs/redux/slices/database/locationDevice/locationDevicesSlice.md b/docs/redux/slices/database/locationDevice/locationDevicesSlice.md new file mode 100644 index 000000000..cf58c3de0 --- /dev/null +++ b/docs/redux/slices/database/locationDevice/locationDevicesSlice.md @@ -0,0 +1,45 @@ + + +# 🧩 locationDevicesSlice.js + +Redux-Slice zur Verwaltung von Standortgeräten (Devices) aus der Tabelle `location_device`. + +--- + +## Zustand + +```js +{ + data: [], + status: "idle" | "loading" | "succeeded" | "failed", + error: string | null +} +``` + +--- + +## Thunks + +- `fetchLocationDevicesThunk`: Lädt Geräte aus der API + +--- + +## Aktionen + +- `clearLocationDevices()`: Löscht Geräte-Array und setzt Status zurück + +--- + +## Selektoren + +```js +selectLocationDevices = (state) => state.locationDevices.data; +selectLocationDeviceStatus = (state) => state.locationDevices.status; +``` + +--- + +## Besonderheiten + +- Zustand wird bei `pending`, `fulfilled` und `rejected` aktualisiert +- Fehlernachricht wird in `error` gespeichert \ No newline at end of file diff --git a/docs/redux/slices/database/pois/addPoiOnPolylineSlice.md b/docs/redux/slices/database/pois/addPoiOnPolylineSlice.md new file mode 100644 index 000000000..8d16ada73 --- /dev/null +++ b/docs/redux/slices/database/pois/addPoiOnPolylineSlice.md @@ -0,0 +1,3 @@ +# 🧩 addPoiOnPolylineSlice.js + +Redux-Slice zur Verwaltung von addPoiOnPolyline. \ No newline at end of file diff --git a/docs/redux/slices/database/pois/addPoiSlice.md b/docs/redux/slices/database/pois/addPoiSlice.md new file mode 100644 index 000000000..31f99a654 --- /dev/null +++ b/docs/redux/slices/database/pois/addPoiSlice.md @@ -0,0 +1,3 @@ +# 🧩 addPoiSlice.js + +Redux-Slice zur Verwaltung von addPoi. \ No newline at end of file diff --git a/docs/redux/slices/database/pois/currentPoiSlice.md b/docs/redux/slices/database/pois/currentPoiSlice.md new file mode 100644 index 000000000..0c1b4e7fe --- /dev/null +++ b/docs/redux/slices/database/pois/currentPoiSlice.md @@ -0,0 +1,3 @@ +# 🧩 currentPoiSlice.js + +Redux-Slice zur Verwaltung von currentPoi. \ No newline at end of file diff --git a/docs/redux/slices/database/pois/poiIconsDataSlice.md b/docs/redux/slices/database/pois/poiIconsDataSlice.md new file mode 100644 index 000000000..80f57f38d --- /dev/null +++ b/docs/redux/slices/database/pois/poiIconsDataSlice.md @@ -0,0 +1,3 @@ +# 🧩 poiIconsDataSlice.js + +Redux-Slice zur Verwaltung von POIIconsData. \ No newline at end of file diff --git a/docs/redux/slices/database/pois/poiLayerVisibleSlice.md b/docs/redux/slices/database/pois/poiLayerVisibleSlice.md new file mode 100644 index 000000000..ef4aa5c8e --- /dev/null +++ b/docs/redux/slices/database/pois/poiLayerVisibleSlice.md @@ -0,0 +1,3 @@ +# 🧩 poiLayerVisibleSlice.js + +Redux-Slice zur Verwaltung von POILayerVisible. \ No newline at end of file diff --git a/docs/redux/slices/database/pois/poiMarkersSlice.md b/docs/redux/slices/database/pois/poiMarkersSlice.md new file mode 100644 index 000000000..94563967d --- /dev/null +++ b/docs/redux/slices/database/pois/poiMarkersSlice.md @@ -0,0 +1,3 @@ +# 🧩 poiMarkersSlice.js + +Redux-Slice zur Verwaltung von POIMarkers. \ No newline at end of file diff --git a/docs/redux/slices/database/pois/poiReadFromDbTriggerSlice.md b/docs/redux/slices/database/pois/poiReadFromDbTriggerSlice.md new file mode 100644 index 000000000..fd3270b7f --- /dev/null +++ b/docs/redux/slices/database/pois/poiReadFromDbTriggerSlice.md @@ -0,0 +1,3 @@ +# 🧩 poiReadFromDbTriggerSlice.js + +Redux-Slice zur Verwaltung von POIReadFromDbTrigger. \ No newline at end of file diff --git a/docs/redux/slices/database/pois/poiTypSlice.md b/docs/redux/slices/database/pois/poiTypSlice.md new file mode 100644 index 000000000..edf0ff581 --- /dev/null +++ b/docs/redux/slices/database/pois/poiTypSlice.md @@ -0,0 +1,3 @@ +# 🧩 poiTypSlice.js + +Redux-Slice zur Verwaltung von POITyp. \ No newline at end of file diff --git a/docs/redux/slices/database/pois/poiTypesSlice.md b/docs/redux/slices/database/pois/poiTypesSlice.md new file mode 100644 index 000000000..24366914c --- /dev/null +++ b/docs/redux/slices/database/pois/poiTypesSlice.md @@ -0,0 +1,3 @@ +# 🧩 poiTypesSlice.js + +Redux-Slice zur Verwaltung von POITypes. \ No newline at end of file diff --git a/docs/redux/slices/database/pois/readPoiMarkersStoreSlice.md b/docs/redux/slices/database/pois/readPoiMarkersStoreSlice.md new file mode 100644 index 000000000..5cd8b478c --- /dev/null +++ b/docs/redux/slices/database/pois/readPoiMarkersStoreSlice.md @@ -0,0 +1,3 @@ +# 🧩 readPoiMarkersStoreSlice.js + +Redux-Slice zur Verwaltung von readPoiMarkersStore. \ No newline at end of file diff --git a/docs/redux/slices/database/pois/selectedPoiSlice.md b/docs/redux/slices/database/pois/selectedPoiSlice.md new file mode 100644 index 000000000..20bceb7eb --- /dev/null +++ b/docs/redux/slices/database/pois/selectedPoiSlice.md @@ -0,0 +1,3 @@ +# 🧩 selectedPoiSlice.js + +Redux-Slice zur Verwaltung von selectedPoi. \ No newline at end of file diff --git a/docs/redux/slices/database/polylines/gisLinesSlice.md b/docs/redux/slices/database/polylines/gisLinesSlice.md new file mode 100644 index 000000000..580f15c4f --- /dev/null +++ b/docs/redux/slices/database/polylines/gisLinesSlice.md @@ -0,0 +1,25 @@ + + +# 🧩 gisLinesSlice.js + +Verwaltet alle Linienobjekte, die aus der Datenbank (`gis_lines`) gelesen wurden. + +## Zustand + +```js +{ + data: [], + status: "idle" | "loading" | "succeeded" | "failed", + error: string | null +} +``` + +## Thunk + +- `fetchGisLinesThunk()` + +## Selector + +```js +selectGisLines = (state) => state.gisLines.data +``` \ No newline at end of file diff --git a/docs/redux/slices/database/polylines/polylineContextMenuSlice.md b/docs/redux/slices/database/polylines/polylineContextMenuSlice.md new file mode 100644 index 000000000..9258beada --- /dev/null +++ b/docs/redux/slices/database/polylines/polylineContextMenuSlice.md @@ -0,0 +1,25 @@ + + +# 🧩 polylineContextMenuSlice.js + +Verwaltet den Zustand des Kontextmenüs bei Polylinien (z. B. Stützpunkt hinzufügen/entfernen). + +## Zustand + +```js +{ + isOpen: false, + position: { lat, lng } | null, + forceClose: false, + timerStart: number | null, + countdown: number, + countdownActive: boolean +} +``` + +## Aktionen + +- `openPolylineContextMenu(payload)` +- `closePolylineContextMenu()` +- `updateCountdown()` +- `forceCloseContextMenu()` \ No newline at end of file diff --git a/docs/redux/slices/database/polylines/polylineEventsDisabledSlice.md b/docs/redux/slices/database/polylines/polylineEventsDisabledSlice.md new file mode 100644 index 000000000..92fc70c85 --- /dev/null +++ b/docs/redux/slices/database/polylines/polylineEventsDisabledSlice.md @@ -0,0 +1,16 @@ + + +# 🧩 polylineEventsDisabledSlice.js + +Steuert, ob Interaktionen mit Polylinien (z. B. Ziehen, Klicks) temporär deaktiviert sind. + +## Zustand + +```js +{ disabled: boolean } +``` + +## Aktionen + +- `setDisabled(boolean)` +- `toggleDisabled()` \ No newline at end of file diff --git a/docs/redux/slices/database/polylines/polylineLayerVisibleSlice.md b/docs/redux/slices/database/polylines/polylineLayerVisibleSlice.md new file mode 100644 index 000000000..6b440aad9 --- /dev/null +++ b/docs/redux/slices/database/polylines/polylineLayerVisibleSlice.md @@ -0,0 +1,21 @@ + + +# 🧩 polylineLayerVisibleSlice.js + +Steuert die Sichtbarkeit des Polylinienlayers auf der Karte. + +## Zustand + +```js +{ visible: boolean } +``` + +## Aktion + +- `setPolylineVisible(boolean)` + +## Selector + +```js +selectPolylineVisible = (state) => state.polylineLayerVisible.visible +``` \ No newline at end of file diff --git a/docs/redux/slices/database/polylines/updatePolylineCoordinatesSlice.md b/docs/redux/slices/database/polylines/updatePolylineCoordinatesSlice.md new file mode 100644 index 000000000..eae91b396 --- /dev/null +++ b/docs/redux/slices/database/polylines/updatePolylineCoordinatesSlice.md @@ -0,0 +1,22 @@ + + +# 🧩 updatePolylineCoordinatesSlice.js + +Redux-Slice zur Überwachung des Lade-/Fehlerstatus bei der Aktualisierung von Linienkoordinaten. + +## Zustand + +```js +{ + status: "idle" | "loading" | "succeeded" | "failed", + error: string | null +} +``` + +## Thunk + +- `updatePolylineCoordinatesThunk()` + +## Aktion + +- `resetUpdateStatus()` \ No newline at end of file diff --git a/docs/redux/slices/lineVisibilitySlice.md b/docs/redux/slices/lineVisibilitySlice.md index 1151d481e..41d22c21a 100644 --- a/docs/redux/slices/lineVisibilitySlice.md +++ b/docs/redux/slices/lineVisibilitySlice.md @@ -1,16 +1,24 @@ -# 📶 lineVisibilitySlice + -Speichert, welche Linien (Kabelstrecken) aktiv sichtbar sind. +# 📶 lineVisibilitySlice.js -## 🔧 Zustand +Redux-Slice zur Steuerung der Sichtbarkeit aktiver Linien auf der Karte. -```ts +## Zustand + +```js { - activeLines: { [idLD]: true | false } + activeLines: { + [idLD]: true | false + } } ``` -## 🎯 Aktionen +## Aktionen -- `updateLineStatus({ idLD, active })` -- `setActiveLines({...})` \ No newline at end of file +- `updateLineStatus({ idLD, active })`: Einzelne Linie sichtbar/unsichtbar +- `setActiveLines({ ... })`: Ganze Objektzuweisung + +## Anwendung + +Wird verwendet z. B. in `useLineData.js`, `MapComponent.js` \ No newline at end of file diff --git a/docs/redux/slices/mapLayersSlice.md b/docs/redux/slices/mapLayersSlice.md index 02cc2a395..f2847e83d 100644 --- a/docs/redux/slices/mapLayersSlice.md +++ b/docs/redux/slices/mapLayersSlice.md @@ -1,18 +1,27 @@ -# 🗺️ mapLayersSlice + -Verwaltet Sichtbarkeit der verschiedenen Map-Layer pro System (TALAS, ECI, GMA usw.). +# 🗺️ mapLayersSlice.js -## 🔧 Zustand +Verwaltet die Sichtbarkeit einzelner Layergruppen (z. B. GMA, ECI, Siemens). -```ts +## Zustand + +```js { TALAS: true, ECI: true, + ULAF: true, ... } ``` -## 🎯 Aktionen +## Aktionen -- `toggleLayer(layerName)` -- `setLayerVisibility({ layer, visibility })` \ No newline at end of file +- `toggleLayer(layer)`: Sichtbarkeit toggeln +- `setLayerVisibility({ layer, visibility })`: Sichtbarkeit explizit setzen + +## Selector + +```js +selectMapLayersState = (state) => state.mapLayers +``` \ No newline at end of file diff --git a/docs/redux/slices/poiLayerVisibleSlice.md b/docs/redux/slices/poiLayerVisibleSlice.md deleted file mode 100644 index b458ed4c2..000000000 --- a/docs/redux/slices/poiLayerVisibleSlice.md +++ /dev/null @@ -1,16 +0,0 @@ -# 👁️ poiLayerVisibleSlice - -Steuert, ob der POI-Layer auf der Karte angezeigt wird. - -## 🔧 Zustand - -```ts -{ - visible: true -} -``` - -## 🎯 Aktionen - -- `setVisible(true|false)` -- `toggleVisible()` \ No newline at end of file diff --git a/docs/redux/slices/poiReadFromDbTriggerSlice.md b/docs/redux/slices/poiReadFromDbTriggerSlice.md deleted file mode 100644 index 6cf854962..000000000 --- a/docs/redux/slices/poiReadFromDbTriggerSlice.md +++ /dev/null @@ -1,16 +0,0 @@ -# 🔄 poiReadFromDbTriggerSlice - -Verwaltet einen Trigger, um POIs aus der DB neu zu laden. - -## 🔧 Zustand - -```ts -{ - trigger: 0 -} -``` - -## 🎯 Aktionen - -- `incrementTrigger()` – erhöht den Wert (z. B. um useEffect auszulösen) -- `resetTrigger()` – setzt auf 0 zurück \ No newline at end of file diff --git a/docs/redux/slices/poiTypesSlice.md b/docs/redux/slices/poiTypesSlice.md deleted file mode 100644 index 030a001bc..000000000 --- a/docs/redux/slices/poiTypesSlice.md +++ /dev/null @@ -1,71 +0,0 @@ -# 🧩 poiTypesSlice – Redux Slice für POI-Typen - -## Zweck - -Dieses Slice verwaltet die Liste der POI-Typen (`poiTyp`) aus der Datenbank. -Die Daten werden beim Start der Karte vom Server abgerufen und im Redux Store gespeichert. - ---- - -## Quelle - -API-Endpunkt: - -``` -/api/talas_v5_DB/poiTyp/readPoiTyp -``` - -Die Daten werden über einen `createAsyncThunk` geladen: - -```js -export const fetchPoiTypes = createAsyncThunk("poiTypes/fetchPoiTypes", async () => { - // ... -}); -``` - ---- - -## Dynamische API-URL - -Damit kein Rebuild bei jedem Serverwechsel nötig ist, wird die API-URL dynamisch bestimmt: - -```js -let API_BASE_URL = ""; - -if (typeof window !== "undefined") { - API_BASE_URL = `${window.location.protocol}//${window.location.hostname}:3000`; -} else { - API_BASE_URL = "http://localhost:3000"; -} -``` - -➡ Dadurch kann dieselbe `.next`-Build auf verschiedenen Servern verwendet werden, ohne neu zu builden. - ---- - -## Datenstruktur im Redux Store - -```ts -{ - poiTypes: { - items: [], // Liste aller POI-Typen - status: "idle" | "loading" | "succeeded" | "failed" - } -} -``` - ---- - -## Verwendung in Komponenten - -Diese Daten werden typischerweise verwendet in: - -- `components/pois/AddPoiModalWindow.js` -- `MapComponent.js` (indirekt) - ---- - -## Siehe auch - -- [`useFetchPoiData`](../../frontend/hooks/useFetchPoiData.md) -- API-Datei: `pages/api/talas_v5_DB/poiTyp/readPoiTyp.js` \ No newline at end of file diff --git a/docs/redux/slices/polylineContextMenuSlice.md b/docs/redux/slices/polylineContextMenuSlice.md deleted file mode 100644 index 98df14a49..000000000 --- a/docs/redux/slices/polylineContextMenuSlice.md +++ /dev/null @@ -1,23 +0,0 @@ -# 📋 polylineContextMenuSlice - -Verwaltet das Kontextmenü für Polylinien (z. B. für Aktionen wie POI einfügen). - -## 🔧 Zustand - -```ts -{ - isOpen: false, - position: { lat, lng }, - forceClose: false, - timerStart: null, - countdown: 20, - countdownActive: false -} -``` - -## 🎯 Aktionen - -- `openPolylineContextMenu(position)` -- `closePolylineContextMenu()` -- `updateCountdown()` -- `forceCloseContextMenu()` \ No newline at end of file diff --git a/docs/redux/slices/polylineEventsDisabledSlice.md b/docs/redux/slices/polylineEventsDisabledSlice.md deleted file mode 100644 index bf24162ac..000000000 --- a/docs/redux/slices/polylineEventsDisabledSlice.md +++ /dev/null @@ -1,16 +0,0 @@ -# 🚫 polylineEventsDisabledSlice - -Steuert, ob Events auf Polylinien (z. B. Klicks) deaktiviert sind. - -## 🔧 Zustand - -```ts -{ - disabled: false -} -``` - -## 🎯 Aktionen - -- `setDisabled(true|false)` -- `toggleDisabled()` \ No newline at end of file diff --git a/docs/redux/slices/polylineLayerVisibleSlice.md b/docs/redux/slices/polylineLayerVisibleSlice.md deleted file mode 100644 index 5e88d62be..000000000 --- a/docs/redux/slices/polylineLayerVisibleSlice.md +++ /dev/null @@ -1,15 +0,0 @@ -# 📏 polylineLayerVisibleSlice - -Steuert, ob der Layer mit Kabelstrecken (Polylinien) angezeigt wird. - -## 🔧 Zustand - -```ts -{ - visible: false -} -``` - -## 🎯 Aktionen - -- `setPolylineVisible(true|false)` → speichert Zustand auch in `localStorage` \ No newline at end of file diff --git a/docs/redux/slices/readPoiMarkersStoreSlice.md b/docs/redux/slices/readPoiMarkersStoreSlice.md deleted file mode 100644 index 5ab0378eb..000000000 --- a/docs/redux/slices/readPoiMarkersStoreSlice.md +++ /dev/null @@ -1,16 +0,0 @@ -# 📌 readPoiMarkersStoreSlice - -Enthält alle POI-Marker, die von der Datenbank gelesen wurden. - -## 🔧 Zustand - -```ts -{ - poiMarkers: [] -} -``` - -## 🎯 Aktionen - -- `setPoiMarkers(array)` -- `clearPoiMarkers()` \ No newline at end of file diff --git a/docs/redux/slices/selectedAreaSlice.md b/docs/redux/slices/selectedAreaSlice.md new file mode 100644 index 000000000..d1eb2e999 --- /dev/null +++ b/docs/redux/slices/selectedAreaSlice.md @@ -0,0 +1,16 @@ + + +# 📍 selectedAreaSlice.js + +Steuert die aktuell selektierte Station/Bereich in der Karte. + +## Zustand + +```js +{ area: null | object } +``` + +## Aktionen + +- `setSelectedArea(area)` +- `clearSelectedArea()` \ No newline at end of file diff --git a/docs/redux/slices/selectedDeviceSlice.md b/docs/redux/slices/selectedDeviceSlice.md index 81dcc329b..ef20a935a 100644 --- a/docs/redux/slices/selectedDeviceSlice.md +++ b/docs/redux/slices/selectedDeviceSlice.md @@ -1,14 +1,16 @@ -# 🔧 selectedDeviceSlice + -Speichert das aktuell ausgewählte Gerät (z. B. für Detailanzeige, Popup oder Bearbeitung). +# 🖥️ selectedDeviceSlice.js -## 🔧 Zustand +Speichert das aktuell ausgewählte Gerät aus der Karte. -```ts -null | { ...deviceData } +## Zustand + +```js +null | { ...Gerät } ``` -## 🎯 Aktionen +## Aktionen - `setSelectedDevice(device)` - `clearSelectedDevice()` \ No newline at end of file diff --git a/docs/redux/slices/selectedPoiSlice.md b/docs/redux/slices/selectedPoiSlice.md deleted file mode 100644 index 42e778a5e..000000000 --- a/docs/redux/slices/selectedPoiSlice.md +++ /dev/null @@ -1,14 +0,0 @@ -# 📍 selectedPoiSlice - -Speichert den aktuell ausgewählten POI (z. B. für Detailanzeige, Update oder Modal-Interaktion). - -## 🔧 Zustand - -```ts -null | { ...poiData } -``` - -## 🎯 Aktionen - -- `setSelectedPoi(poi)` -- `clearSelectedPoi()` \ No newline at end of file diff --git a/docs/redux/slices/urlParameterSlice.md b/docs/redux/slices/urlParameterSlice.md index 8e1511a34..1a2c68801 100644 --- a/docs/redux/slices/urlParameterSlice.md +++ b/docs/redux/slices/urlParameterSlice.md @@ -1,18 +1,20 @@ -# 🌐 urlParameterSlice + -Verwaltet `mapId` und `userId`, die aus der URL gelesen werden. +# 🔗 urlParameterSlice.js -## 🔧 Zustand +Verwaltet die URL-Parameter `m` (mapId) und `u` (userId). -```ts +## Zustand + +```js { - mapId: null | string, - userId: null | string + mapId: number | null, + userId: number | null } ``` -## 🎯 Aktionen +## Aktionen - `setMapId(id)` - `setUserId(id)` -- `setFromURL({ m, u })` – gleichzeitig beide setzen aus URL-Params \ No newline at end of file +- `setFromURL({ m, u })` \ No newline at end of file diff --git a/docs/redux/slices/webService/gisLinesStatusSlice.md b/docs/redux/slices/webService/gisLinesStatusSlice.md new file mode 100644 index 000000000..b6a0ba93d --- /dev/null +++ b/docs/redux/slices/webService/gisLinesStatusSlice.md @@ -0,0 +1,25 @@ + + +# 🧩 gisLinesStatusSlice.js + +Lädt und speichert Statusdaten von Linien (z. B. Spannungswerte, Betriebszustand) aus dem Webservice. + +## Zustand + +```js +{ + data: [], + status: "idle" | "loading" | "succeeded" | "failed", + error: string | null +} +``` + +## Thunk + +- `fetchGisLinesStatusThunk()` + +## Selector + +```js +selectGisLinesStatusFromWebservice = (state) => state.gisLinesStatusFromWebservice +``` \ No newline at end of file diff --git a/docs/redux/slices/webService/gisStationsMeasurementsSlice.md b/docs/redux/slices/webService/gisStationsMeasurementsSlice.md index 515b7f682..3f1308bf5 100644 --- a/docs/redux/slices/webService/gisStationsMeasurementsSlice.md +++ b/docs/redux/slices/webService/gisStationsMeasurementsSlice.md @@ -1,26 +1,25 @@ -# 📈 gisStationsMeasurementsSlice + -Verwaltet Messdaten für GIS-Stationen, z. B. Spannungen, Strom, Sensorwerte etc. +# 🧩 gisStationsMeasurementsSlice.js -## 🔧 Pfad -`/redux/slices/webService/gisStationsMeasurementsSlice.js` +Verwaltet Messwerte einzelner Stationen (z. B. Schleifenwiderstand, Isolation) aus Webservice-Antworten. -## 📦 Initial State +## Zustand -```ts +```js { data: [], - status: "idle", - error: null + status: "idle" | "loading" | "succeeded" | "failed", + error: string | null } ``` -## 🔁 Thunk: `fetchGisStationsMeasurementsFromWebService` +## Thunk -Verwendet `fetchGisStationsMeasurements()` als API-Quelle. +- `fetchGisStationsMeasurementsThunk()` -## 📊 Selector +## Selector -```ts -selectGisStationsMeasurements = (state) => state.gisStationsMeasurements.data; +```js +selectGisStationsMeasurements = (state) => state.gisStationsMeasurements.data ``` \ No newline at end of file diff --git a/docs/redux/slices/webService/gisStationsStaticDistrictSlice.md b/docs/redux/slices/webService/gisStationsStaticDistrictSlice.md index 5952fbfdb..faf67e4b2 100644 --- a/docs/redux/slices/webService/gisStationsStaticDistrictSlice.md +++ b/docs/redux/slices/webService/gisStationsStaticDistrictSlice.md @@ -1,18 +1,25 @@ -# 🏙️ gisStationsStaticDistrictSlice + -Verwaltet statische Daten für GIS-Bezirksstationen. +# 🧩 gisStationsStaticDistrictSlice.js -## 🔧 Pfad -`/redux/slices/webService/gisStationsStaticDistrictSlice.js` +Lädt und speichert statische Standortdaten (z. B. Koordinaten) der Stationen im aktuellen Bezirk. -## 📦 Initial State +## Zustand -```ts +```js { - data: [], - status: "idle", - error: null + data: { Points: [] }, + status: "idle" | "loading" | "succeeded" | "failed", + error: string | null } ``` -## 🔁 Thunk: `fetchGisStationsStaticDistrictFromWebService` \ No newline at end of file +## Thunk + +- `fetchGisStationsStaticDistrictThunk()` + +## Selector + +```js +selectGisStationsStaticDistrict = (state) => state.gisStationsStaticDistrict.data +``` \ No newline at end of file diff --git a/docs/redux/slices/webService/gisStationsStaticSlice.md b/docs/redux/slices/webService/gisStationsStaticSlice.md deleted file mode 100644 index 67f159b11..000000000 --- a/docs/redux/slices/webService/gisStationsStaticSlice.md +++ /dev/null @@ -1,26 +0,0 @@ -# 🛰️ gisStationsStaticSlice - -Verwaltet statische Informationen zu GIS-Stationen – z. B. für das Dropdown im DataSheet-Bereich. - -## 🔧 Pfad -`/redux/slices/webService/gisStationsStaticSlice.js` - -## 📦 Initial State - -```ts -{ - data: null, - status: "idle", - error: null -} -``` - -## 🔁 Thunk: `fetchGisStationsStatic` - -Lädt Daten über dynamisch erzeugte URL (`idMap` aus `window.location.search`). - -## 🧪 Logging - -```ts -console.log("📡 API Request URL in redux slice:", url); -``` \ No newline at end of file diff --git a/docs/redux/slices/webService/gisStationsStatusDistrictSlice.md b/docs/redux/slices/webService/gisStationsStatusDistrictSlice.md index e0bf146f9..e538fc9c2 100644 --- a/docs/redux/slices/webService/gisStationsStatusDistrictSlice.md +++ b/docs/redux/slices/webService/gisStationsStatusDistrictSlice.md @@ -1,18 +1,25 @@ -# 📶 gisStationsStatusDistrictSlice + -Verwaltet Statusinformationen für GIS-Bezirksstationen (z. B. online/offline, Fehlerstatus). +# 🧩 gisStationsStatusDistrictSlice.js -## 🔧 Pfad -`/redux/slices/webService/gisStationsStatusDistrictSlice.js` +Verwaltet den Status aller Stationen im aktuellen Bezirk aus Webservice-Daten. -## 📦 Initial State +## Zustand -```ts +```js { data: [], - status: "idle", - error: null + status: "idle" | "loading" | "succeeded" | "failed", + error: string | null } ``` -## 🔁 Thunk: `fetchGisStationsStatusDistrictFromWebService` \ No newline at end of file +## Thunk + +- `fetchGisStationsStatusDistrictThunk()` + +## Selector + +```js +selectGisStationsStatusDistrict = (state) => state.gisStationsStatusDistrict.data +``` \ No newline at end of file diff --git a/docs/redux/slices/webService/gisSystemStaticSlice.md b/docs/redux/slices/webService/gisSystemStaticSlice.md index 9c6c4e7c6..ecf688b02 100644 --- a/docs/redux/slices/webService/gisSystemStaticSlice.md +++ b/docs/redux/slices/webService/gisSystemStaticSlice.md @@ -1,25 +1,25 @@ -# 🧭 gisSystemStaticSlice + -Verwaltet statische GIS-Systemdaten (`Systems[]`), die vom Server zurückgegeben werden. +# 🧩 gisSystemStaticSlice.js -## 🔧 Pfad -`/redux/slices/webService/gisSystemStaticSlice.js` +Verwaltet statische Gerätedaten aller Systeme, die vom Webservice zurückgegeben werden. -## 📦 Initial State +## Zustand -```ts +```js { - data: [], // enthält Systems[] - status: "idle", // Ladezustand - error: null + data: [], + status: "idle" | "loading" | "succeeded" | "failed", + error: string | null } ``` -## 🔁 Thunk: `fetchGisSystemStaticFromWebService` +## Thunk -Ruft `fetchGisSystemStatic()` auf und speichert nur das Feld `Systems` im Redux-State. +- `fetchGisSystemStaticThunk()` -## 🧩 Aktionen +## Selector -- `setGisSystemStatic(data)` → manuelles Setzen von `Systems[]` -- `fulfilled` → speichert Systems[] \ No newline at end of file +```js +selectGisSystemStatic = (state) => state.gisSystemStatic.data +``` \ No newline at end of file diff --git a/docs/redux/slices/webService/userRightsSlice.md b/docs/redux/slices/webService/userRightsSlice.md new file mode 100644 index 000000000..a40453d15 --- /dev/null +++ b/docs/redux/slices/webService/userRightsSlice.md @@ -0,0 +1,26 @@ + + +# 🧩 userRightsSlice.js + +Verwaltet die Benutzerrechte, die vom Webservice für den angemeldeten Nutzer bereitgestellt werden. + +## Zustand + +```js +{ + rights: [], + status: "idle" | "loading" | "succeeded" | "failed", + error: string | null +} +``` + +## Thunk + +- `fetchUserRightsThunk()` + +## Selector + +```js +selectGisUserRightsFromWebservice = (state) => state.gisUserRightsFromWebservice.rights +selectGisUserRightsStatus = (state) => state.gisUserRightsFromWebservice.status +``` \ No newline at end of file diff --git a/docs/redux/slices/zoomTriggerSlice.md b/docs/redux/slices/zoomTriggerSlice.md index f21d4556c..e5aeb3226 100644 --- a/docs/redux/slices/zoomTriggerSlice.md +++ b/docs/redux/slices/zoomTriggerSlice.md @@ -1,16 +1,16 @@ -# 🔍 zoomTriggerSlice + -Löst ein Neuzeichnen oder eine Zoom-Interaktion aus. +# 🔍 zoomTriggerSlice.js -## 🔧 Zustand +Ein Redux-Trigger, der die Karte zur Neuberechnung des Zoom-Zustands veranlasst. -```ts -{ - trigger: 0 -} +## Zustand + +```js +{ trigger: number } ``` -## 🎯 Aktionen +## Aktionen -- `incrementZoomTrigger()` – erhöht Trigger-Zähler (z. B. zur Synchronisation) -- `resetZoomTrigger()` – setzt Trigger zurück \ No newline at end of file +- `incrementZoomTrigger()`: Erhöht den Trigger +- `resetZoomTrigger()`: Setzt auf 0 zurück \ No newline at end of file diff --git a/docs/redux/thunks/database/area/updateAreaThunk.md b/docs/redux/thunks/database/area/updateAreaThunk.md new file mode 100644 index 000000000..24d8dcec5 --- /dev/null +++ b/docs/redux/thunks/database/area/updateAreaThunk.md @@ -0,0 +1,25 @@ + + +# ✏️ updateAreaThunk.js + +Async-Thunk zum Aktualisieren der Koordinaten eines Bereichs (Area). + +## Verwendung + +```js +dispatch(updateAreaThunk({ + idLocation: 5, + idMap: 2, + x: 53.215, + y: 8.45 +})); +``` + +## Quelle + +- Ruft `updateAreaService(payload)` auf + +## Verhalten + +- Gibt `await`-Ergebnis direkt zurück +- Fehlerbehandlung wird vom aufrufenden Slice übernommen \ No newline at end of file diff --git a/docs/redux/thunks/database/fetchLocationDevicesThunk.md b/docs/redux/thunks/database/fetchLocationDevicesThunk.md new file mode 100644 index 000000000..2d62cde1b --- /dev/null +++ b/docs/redux/thunks/database/fetchLocationDevicesThunk.md @@ -0,0 +1,15 @@ + + +# 🚚 fetchLocationDevicesThunk.js + +Async-Thunk zum Laden aller Geräte aus der Tabelle `location_device`. + +## Verwendung + +```js +dispatch(fetchLocationDevicesThunk()); +``` + +## Quelle + +- Ruft `fetchLocationDevicesService()` auf \ No newline at end of file diff --git a/docs/redux/thunks/database/fetchPriorityConfigThunk.md b/docs/redux/thunks/database/fetchPriorityConfigThunk.md new file mode 100644 index 000000000..53895c2f7 --- /dev/null +++ b/docs/redux/thunks/database/fetchPriorityConfigThunk.md @@ -0,0 +1,15 @@ + + +# 🎯 fetchPriorityConfigThunk.js + +Async-Thunk zum Abrufen der Prioritätskonfiguration für Marker. + +## Verwendung + +```js +dispatch(fetchPriorityConfigThunk()); +``` + +## Quelle + +- Ruft `fetchPriorityConfigService()` auf \ No newline at end of file diff --git a/docs/redux/thunks/database/getDeviceIdByNameThunk.md b/docs/redux/thunks/database/getDeviceIdByNameThunk.md new file mode 100644 index 000000000..4e0848f27 --- /dev/null +++ b/docs/redux/thunks/database/getDeviceIdByNameThunk.md @@ -0,0 +1,16 @@ + + +# 🆔 getDeviceIdByNameThunk.js + +Async-Thunk zur Ermittlung der ID eines Geräts anhand des Gerätenamens. + +## Verwendung + +```js +dispatch(getDeviceIdByNameThunk("Kue705")); +``` + +## Verhalten + +- Ruft `getDeviceIdByNameService(deviceName)` auf +- Fehler werden mit `rejectWithValue(error.message)` behandelt \ No newline at end of file diff --git a/docs/redux/thunks/database/locationDevice/fetchLocationDevicesThunk (1).md b/docs/redux/thunks/database/locationDevice/fetchLocationDevicesThunk (1).md new file mode 100644 index 000000000..66ee57295 --- /dev/null +++ b/docs/redux/thunks/database/locationDevice/fetchLocationDevicesThunk (1).md @@ -0,0 +1,37 @@ + + +# 🚚 fetchLocationDevicesThunk.js + +Redux-AsyncThunk zum Abrufen aller Einträge aus der Tabelle `location_device`. + +--- + +## 🔄 Zweck + +Dieser Thunk ruft die Servicefunktion `fetchLocationDevicesService()` auf und liefert deren Ergebnis an den Redux-Slice `locationDevicesSlice`. + +--- + +## 🧠 Intern + +```ts +createAsyncThunk("locationDevices/fetchAll", async () => { + return await fetchLocationDevicesService(); +}); +``` + +--- + +## ✅ Verwendung + +```ts +dispatch(fetchLocationDevicesThunk()); +``` + +--- + +## 📁 Pfad + +``` +/redux/thunks/database/locationDevice/fetchLocationDevicesThunk.js +``` \ No newline at end of file diff --git a/docs/redux/thunks/database/pois/addPoiThunk.md b/docs/redux/thunks/database/pois/addPoiThunk.md new file mode 100644 index 000000000..c53771de6 --- /dev/null +++ b/docs/redux/thunks/database/pois/addPoiThunk.md @@ -0,0 +1,21 @@ + + +# ➕ addPoiThunk.js + +Async-Thunk zur Erstellung eines neuen POIs. + +## Verwendung + +```js +dispatch(addPoiThunk({ + name: "Messstelle 1", + poiTypeId: 2, + latitude: 53.21, + longitude: 8.43, + idLD: 12 +})); +``` + +## Intern + +Ruft `addPoiService(formData)` auf und gibt das Ergebnis zurück. \ No newline at end of file diff --git a/docs/redux/thunks/database/pois/deletePoiThunk.md b/docs/redux/thunks/database/pois/deletePoiThunk.md new file mode 100644 index 000000000..2e6ea1625 --- /dev/null +++ b/docs/redux/thunks/database/pois/deletePoiThunk.md @@ -0,0 +1,16 @@ + + +# ❌ deletePoiThunk.js + +Async-Thunk zum Löschen eines POIs anhand seiner ID. + +## Verwendung + +```js +dispatch(deletePoiThunk(15)); +``` + +## Verhalten + +- Ruft `deletePoiService(id)` auf +- Gibt die ID im Erfolgsfall zurück \ No newline at end of file diff --git a/docs/redux/thunks/database/pois/fetchPoiIconsDataThunk.md b/docs/redux/thunks/database/pois/fetchPoiIconsDataThunk.md new file mode 100644 index 000000000..76931f618 --- /dev/null +++ b/docs/redux/thunks/database/pois/fetchPoiIconsDataThunk.md @@ -0,0 +1,15 @@ + + +# 🖼️ fetchPoiIconsDataThunk.js + +Lädt alle verfügbaren POI-Icons aus dem Backend. + +## Verwendung + +```js +dispatch(fetchPoiIconsDataThunk()); +``` + +## Intern + +- Ruft `fetchPoiIconsDataService()` auf \ No newline at end of file diff --git a/docs/redux/thunks/database/pois/fetchPoiMarkersThunk.md b/docs/redux/thunks/database/pois/fetchPoiMarkersThunk.md new file mode 100644 index 000000000..e1cbc961d --- /dev/null +++ b/docs/redux/thunks/database/pois/fetchPoiMarkersThunk.md @@ -0,0 +1,15 @@ + + +# 📍 fetchPoiMarkersThunk.js + +Lädt alle POI-Marker (Positionsdaten) aus dem Backend. + +## Verwendung + +```js +dispatch(fetchPoiMarkersThunk()); +``` + +## Intern + +- Ruft `fetchPoiMarkersService()` auf \ No newline at end of file diff --git a/docs/redux/thunks/database/pois/fetchPoiTypThunk.md b/docs/redux/thunks/database/pois/fetchPoiTypThunk.md new file mode 100644 index 000000000..2aae375b4 --- /dev/null +++ b/docs/redux/thunks/database/pois/fetchPoiTypThunk.md @@ -0,0 +1,15 @@ + + +# 🗂️ fetchPoiTypThunk.js + +Lädt alle verfügbaren POI-Typen aus der Datenbank. + +## Verwendung + +```js +dispatch(fetchPoiTypThunk()); +``` + +## Intern + +- Ruft `fetchPoiTypService()` auf \ No newline at end of file diff --git a/docs/redux/thunks/database/pois/updatePoiThunk.md b/docs/redux/thunks/database/pois/updatePoiThunk.md new file mode 100644 index 000000000..3a4dec185 --- /dev/null +++ b/docs/redux/thunks/database/pois/updatePoiThunk.md @@ -0,0 +1,20 @@ + + +# 📝 updatePoiThunk.js + +Aktualisiert einen bestehenden POI mit neuen Daten. + +## Verwendung + +```js +dispatch(updatePoiThunk({ + idPoi: 15, + description: "Neue Beschreibung", + idPoiTyp: 3, + idLD: 8 +})); +``` + +## Intern + +- Ruft `updatePoiService(poi)` auf \ No newline at end of file diff --git a/docs/redux/thunks/database/polylines/fetchGisLinesThunk.md b/docs/redux/thunks/database/polylines/fetchGisLinesThunk.md new file mode 100644 index 000000000..9bfbdec01 --- /dev/null +++ b/docs/redux/thunks/database/polylines/fetchGisLinesThunk.md @@ -0,0 +1,16 @@ + + +# 📡 fetchGisLinesThunk.js + +Async-Thunk zum Laden aller Linien aus der Datenbanktabelle `gis_lines`. + +## Verwendung + +```js +dispatch(fetchGisLinesThunk()); +``` + +## Intern + +- Ruft `fetchGisLinesService()` auf +- Liefert alle Linien mit Koordinaten zur Anzeige auf der Karte \ No newline at end of file diff --git a/docs/redux/thunks/database/polylines/updatePolylineCoordinatesThunk.md b/docs/redux/thunks/database/polylines/updatePolylineCoordinatesThunk.md new file mode 100644 index 000000000..19c68ce6f --- /dev/null +++ b/docs/redux/thunks/database/polylines/updatePolylineCoordinatesThunk.md @@ -0,0 +1,20 @@ + + +# 🧭 updatePolylineCoordinatesThunk.js + +Async-Thunk zur Aktualisierung von Linienkoordinaten in der Datenbank. + +## Verwendung + +```js +dispatch(updatePolylineCoordinatesThunk({ + idLD: 7, + idModul: 2, + newCoordinates: [[53.2, 8.4], [53.21, 8.45]] +})); +``` + +## Intern + +- Ruft `updatePolylineCoordinatesService(requestData)` auf +- Wandelt Koordinaten in MySQL LINESTRING um \ No newline at end of file diff --git a/docs/redux/thunks/webservice/fetchGisLinesStatusThunk.md b/docs/redux/thunks/webservice/fetchGisLinesStatusThunk.md new file mode 100644 index 000000000..82e04ab66 --- /dev/null +++ b/docs/redux/thunks/webservice/fetchGisLinesStatusThunk.md @@ -0,0 +1,16 @@ + + +# 📡 fetchGisLinesStatusThunk.js + +Async-Thunk zum Laden des Status aller Linien aus dem Webservice. + +## Verwendung + +```js +dispatch(fetchGisLinesStatusThunk()); +``` + +## Intern + +- Ruft `fetchGisLinesStatusService()` auf +- Fehlerbehandlung per `rejectWithValue(error.message)` \ No newline at end of file diff --git a/docs/redux/thunks/webservice/fetchGisStationsMeasurementsThunk.md b/docs/redux/thunks/webservice/fetchGisStationsMeasurementsThunk.md new file mode 100644 index 000000000..94cfe884f --- /dev/null +++ b/docs/redux/thunks/webservice/fetchGisStationsMeasurementsThunk.md @@ -0,0 +1,15 @@ + + +# 📈 fetchGisStationsMeasurementsThunk.js + +Lädt Messwerte aller Stationen (z. B. Schleifenwiderstand, Isolation). + +## Verwendung + +```js +dispatch(fetchGisStationsMeasurementsThunk()); +``` + +## Intern + +- Ruft `fetchGisStationsMeasurementsService()` auf \ No newline at end of file diff --git a/docs/redux/thunks/webservice/fetchGisStationsStaticDistrictThunk.md b/docs/redux/thunks/webservice/fetchGisStationsStaticDistrictThunk.md new file mode 100644 index 000000000..d69b6dfb4 --- /dev/null +++ b/docs/redux/thunks/webservice/fetchGisStationsStaticDistrictThunk.md @@ -0,0 +1,15 @@ + + +# 🧭 fetchGisStationsStaticDistrictThunk.js + +Lädt statische Standortdaten (z. B. Koordinaten) für den aktuellen Bezirk. + +## Verwendung + +```js +dispatch(fetchGisStationsStaticDistrictThunk()); +``` + +## Intern + +- Ruft `fetchGisStationsStaticDistrictService()` auf \ No newline at end of file diff --git a/docs/redux/thunks/webservice/fetchGisStationsStatusDistrictThunk.md b/docs/redux/thunks/webservice/fetchGisStationsStatusDistrictThunk.md new file mode 100644 index 000000000..587db68b1 --- /dev/null +++ b/docs/redux/thunks/webservice/fetchGisStationsStatusDistrictThunk.md @@ -0,0 +1,15 @@ + + +# 🚦 fetchGisStationsStatusDistrictThunk.js + +Lädt Statusdaten (aktiv/inaktiv) aller Stationen im Bezirk. + +## Verwendung + +```js +dispatch(fetchGisStationsStatusDistrictThunk()); +``` + +## Intern + +- Ruft `fetchGisStationsStatusDistrictService()` auf \ No newline at end of file diff --git a/docs/redux/thunks/webservice/fetchGisSystemStaticThunk.md b/docs/redux/thunks/webservice/fetchGisSystemStaticThunk.md new file mode 100644 index 000000000..9211be3d9 --- /dev/null +++ b/docs/redux/thunks/webservice/fetchGisSystemStaticThunk.md @@ -0,0 +1,15 @@ + + +# 🧱 fetchGisSystemStaticThunk.js + +Lädt Geräte-/Systemdaten für alle Module aus dem Webservice. + +## Verwendung + +```js +dispatch(fetchGisSystemStaticThunk()); +``` + +## Intern + +- Ruft `fetchGisSystemStaticService()` auf \ No newline at end of file diff --git a/docs/redux/thunks/webservice/fetchUserRightsThunk.md b/docs/redux/thunks/webservice/fetchUserRightsThunk.md new file mode 100644 index 000000000..fe1d96508 --- /dev/null +++ b/docs/redux/thunks/webservice/fetchUserRightsThunk.md @@ -0,0 +1,16 @@ + + +# 🔐 fetchUserRightsThunk.js + +Lädt Rechte des angemeldeten Nutzers vom Webservice. + +## Verwendung + +```js +dispatch(fetchUserRightsThunk()); +``` + +## Intern + +- Ruft `fetchUserRightsService()` auf +- Fehlerbehandlung per `rejectWithValue(error.message)` \ No newline at end of file diff --git a/docs/services/database/area/updateAreaService.md b/docs/services/database/area/updateAreaService.md new file mode 100644 index 000000000..fa7520cd2 --- /dev/null +++ b/docs/services/database/area/updateAreaService.md @@ -0,0 +1,37 @@ + + +# 🗺️ updateAreaService.js + +Service zur Aktualisierung der Koordinaten eines Bereichs (Area) in der Datenbank. + +## Verwendung + +```js +await updateAreaService({ + idLocation: 4, + idMap: 1, + newCoords: { x: 53.219, y: 8.435 } +}); +``` + +## API-Route + +``` +PUT /api/talas_v5_DB/area/updateArea +``` + +## Payload + +```json +{ + "idLocation": 4, + "idMap": 1, + "x": 53.219, + "y": 8.435 +} +``` + +## Rückgabe + +- Erfolgreich: JSON mit Erfolgsmeldung +- Fehler: `throw new Error(...)` bei nicht OK \ No newline at end of file diff --git a/docs/services/database/fetchDeviceNameByIdService.md b/docs/services/database/fetchDeviceNameByIdService.md index 17899a85b..95b5880b6 100644 --- a/docs/services/database/fetchDeviceNameByIdService.md +++ b/docs/services/database/fetchDeviceNameByIdService.md @@ -1,5 +1,22 @@ -# fetchDeviceNameByIdService + -Liest Gerätenamen über die eigene Next.js-API. +# 🆔 fetchDeviceNameByIdService.js -**Route:** `/api/talas_v5_DB/locationDevice/locationDeviceNameById?idLD={idLD}` \ No newline at end of file +Lädt den Gerätenamen (`name`) anhand der ID (`idLD`) von der API. + +## Verwendung + +```js +const name = await fetchDeviceNameById(idLD); +``` + +## API-Route + +``` +/api/talas_v5_DB/locationDevice/locationDeviceNameById?idLD=... +``` + +## Rückgabe + +- Erfolgreich: Gerätebezeichnung als `string` +- Fehler: `"Unbekannt"` \ No newline at end of file diff --git a/docs/services/database/fetchGisLinesService.md b/docs/services/database/fetchGisLinesService.md deleted file mode 100644 index 6f0f79309..000000000 --- a/docs/services/database/fetchGisLinesService.md +++ /dev/null @@ -1,65 +0,0 @@ -# fetchGisLinesService - -Lädt Linien-Geometriedaten über die interne Datenbank-API. - ---- - -## 📁 URL-Aufbau - -``` -/api/talas_v5_DB/gisLines/readGisLines -``` - -- Die Daten werden nicht über einen WebService geladen, sondern über einen internen Datenbank-Endpunkt im Backend (API Route). -- Es handelt sich um Polyline-Daten (z. B. Kabelverbindungen). - ---- - -## ✅ Rückgabe - -```json -[ - { - "idLD": 12345, - "idModul": 6, - "points": [ - { "x": 8.123, "y": 53.456 }, - { "x": 8.124, "y": 53.457 } - ] - }, - ... -] -``` - -- `points[]` enthält die Koordinaten der Liniensegmente -- Die Struktur ist geeignet für Leaflet-Polyline-Rendering - ---- - -## ❗ Unterschied zu `gisLinesStatusSlice` (WebService) - -| Eigenschaft | `gisLines` (Datenbank) | `gisLinesStatus` (WebService) | -| ----------- | -------------------------------- | ----------------------------------- | -| Quelle | `/api/talas_v5_DB/gisLines` | `WebServiceMap.asmx/GisLinesStatus` | -| Daten | Liniengeometrien (`points`) | Status, Meldungen, Farben, Werte | -| Typ | Polyline-Rendering | Statusanzeige für Linien | -| Nutzung | Anzeige der Linien auf der Karte | Visualisierung von Fehlern/Farben | - ---- - -## 🧠 Verwendung im Frontend - -- Daten werden über `fetchGisLinesThunk` geladen. -- Sie landen im Redux Slice `gisLinesSlice`. -- Zugriff über: `selectGisLines(state)` - ---- - -## 📁 Zugehörige Dateien - -| Datei | Zweck | -| ------------------------- | --------------------------- | -| `fetchGisLinesService.js` | Datenbank-Aufruf für Linien | -| `fetchGisLinesThunk.js` | Redux Thunk | -| `gisLinesSlice.js` | Redux Slice | -| `store.js` | Integration des Slices | diff --git a/docs/services/database/fetchLocationDevicesService.md b/docs/services/database/fetchLocationDevicesService.md new file mode 100644 index 000000000..f40447bab --- /dev/null +++ b/docs/services/database/fetchLocationDevicesService.md @@ -0,0 +1,21 @@ + + +# 🧰 fetchLocationDevicesService.js + +Service zum Abrufen aller Einträge aus der `location_device` Tabelle. + +## Verwendung + +```js +const result = await fetchLocationDevicesService(); +``` + +## API-Route + +``` +/api/talas_v5_DB/locationDevice/locationDevices +``` + +## Rückgabe + +- JSON-Array aller Geräte \ No newline at end of file diff --git a/docs/services/database/fetchPoiDataService.md b/docs/services/database/fetchPoiDataService.md deleted file mode 100644 index a164f4a28..000000000 --- a/docs/services/database/fetchPoiDataService.md +++ /dev/null @@ -1,5 +0,0 @@ -# fetchPoiDataService - -Lädt POI-Daten über API `/api/talas_v5_DB/pois/getPoiById?idPoi={idPoi}` - -- Rückgabe: Objekt mit POI-Infos (id, name, description, idLD) \ No newline at end of file diff --git a/docs/services/database/fetchPriorityConfigService.md b/docs/services/database/fetchPriorityConfigService.md new file mode 100644 index 000000000..7dce4c026 --- /dev/null +++ b/docs/services/database/fetchPriorityConfigService.md @@ -0,0 +1,17 @@ + + +# 🎯 fetchPriorityConfigService.js + +Service zum Abrufen der Prioritätskonfiguration für POIs oder Marker. + +## Verwendung + +```js +const result = await fetchPriorityConfigService(); +``` + +## API-Route + +``` +/api/talas_v5_DB/priorityConfig +``` \ No newline at end of file diff --git a/docs/services/database/getDeviceIdByNameService.md b/docs/services/database/getDeviceIdByNameService.md new file mode 100644 index 000000000..cc0903403 --- /dev/null +++ b/docs/services/database/getDeviceIdByNameService.md @@ -0,0 +1,22 @@ + + +# 🆔 getDeviceIdByNameService.js + +Service zur Ermittlung der Geräte-ID (`idLD`) anhand eines Gerätenamens. + +## Verwendung + +```js +const id = await getDeviceIdByNameService("CPL-V4"); +``` + +## API-Route + +``` +/api/talas_v5_DB/locationDevice/getDeviceId?deviceName=... +``` + +## Rückgabe + +- Erfolgreich: `idLD` (number) +- Fehler: Exception \ No newline at end of file diff --git a/docs/services/database/locationDevice/fetchLocationDevicesService.md b/docs/services/database/locationDevice/fetchLocationDevicesService.md new file mode 100644 index 000000000..f40447bab --- /dev/null +++ b/docs/services/database/locationDevice/fetchLocationDevicesService.md @@ -0,0 +1,21 @@ + + +# 🧰 fetchLocationDevicesService.js + +Service zum Abrufen aller Einträge aus der `location_device` Tabelle. + +## Verwendung + +```js +const result = await fetchLocationDevicesService(); +``` + +## API-Route + +``` +/api/talas_v5_DB/locationDevice/locationDevices +``` + +## Rückgabe + +- JSON-Array aller Geräte \ No newline at end of file diff --git a/docs/services/database/pois/addPoiService.md b/docs/services/database/pois/addPoiService.md new file mode 100644 index 000000000..16d80616d --- /dev/null +++ b/docs/services/database/pois/addPoiService.md @@ -0,0 +1,22 @@ + + +# ➕ addPoiService.js + +Service zum Hinzufügen eines neuen POIs in der Datenbank. + +## Verwendung + +```js +await addPoiService({ + name: "Beispiel", + poiTypeId: 1, + idLD: 12, + latitude: 53.21, + longitude: 8.43 +}); +``` + +## API + +- Endpoint: `POST /api/talas_v5_DB/pois/addPoi` +- Headers: `"Content-Type": "application/json"` \ No newline at end of file diff --git a/docs/services/database/pois/deletePoiService.md b/docs/services/database/pois/deletePoiService.md new file mode 100644 index 000000000..62569ca9a --- /dev/null +++ b/docs/services/database/pois/deletePoiService.md @@ -0,0 +1,15 @@ + + +# ❌ deletePoiService.js + +Service zum Löschen eines POIs aus der Datenbank per ID. + +## Verwendung + +```js +await deletePoiService(id); +``` + +## API + +- Endpoint: `DELETE /api/talas_v5_DB/pois/deletePoi?id=ID` \ No newline at end of file diff --git a/docs/services/database/pois/fetchPoiDataByIdService.md b/docs/services/database/pois/fetchPoiDataByIdService.md new file mode 100644 index 000000000..fbbb86acc --- /dev/null +++ b/docs/services/database/pois/fetchPoiDataByIdService.md @@ -0,0 +1,15 @@ + + +# 🔍 fetchPoiDataByIdService.js + +Service zum Abrufen der POI-Daten anhand einer POI-ID. + +## Verwendung + +```js +const poi = await fetchPoiDataService(idPoi); +``` + +## API + +- Endpoint: `GET /api/talas_v5_DB/pois/getPoiById?idPoi=ID` \ No newline at end of file diff --git a/docs/services/database/pois/fetchPoiDataService.md b/docs/services/database/pois/fetchPoiDataService.md new file mode 100644 index 000000000..797a8a658 --- /dev/null +++ b/docs/services/database/pois/fetchPoiDataService.md @@ -0,0 +1,15 @@ + + +# 📄 fetchPoiDataService.js + +Lädt POI-Icons (alias `poiData`) aus dem Serververzeichnis. + +## Verwendung + +```js +const data = await fetchPoiDataService(); +``` + +## API + +- Endpoint: `GET /api/talas_v5_DB/pois/poi-icons` \ No newline at end of file diff --git a/docs/services/database/pois/fetchPoiIconsDataService.md b/docs/services/database/pois/fetchPoiIconsDataService.md new file mode 100644 index 000000000..8e1ff22a0 --- /dev/null +++ b/docs/services/database/pois/fetchPoiIconsDataService.md @@ -0,0 +1,15 @@ + + +# 🖼️ fetchPoiIconsDataService.js + +Service zum Abrufen der POI-Icon-Metadaten. + +## Verwendung + +```js +const icons = await fetchPoiIconsDataService(); +``` + +## API + +- Endpoint: `GET /api/talas_v5_DB/pois/poi-icons` \ No newline at end of file diff --git a/docs/services/database/pois/fetchPoiMarkersService.md b/docs/services/database/pois/fetchPoiMarkersService.md new file mode 100644 index 000000000..de209ebdf --- /dev/null +++ b/docs/services/database/pois/fetchPoiMarkersService.md @@ -0,0 +1,15 @@ + + +# 📍 fetchPoiMarkersService.js + +Service zum Abrufen aller gespeicherten POI-Marker (Positionen). + +## Verwendung + +```js +const pois = await fetchPoiMarkersService(); +``` + +## API + +- Endpoint: `GET /api/talas_v5_DB/pois/readAllPOIs` \ No newline at end of file diff --git a/docs/services/database/pois/fetchPoiTypService.md b/docs/services/database/pois/fetchPoiTypService.md new file mode 100644 index 000000000..360d035fe --- /dev/null +++ b/docs/services/database/pois/fetchPoiTypService.md @@ -0,0 +1,15 @@ + + +# 🗂️ fetchPoiTypService.js + +Service zum Abrufen aller verfügbaren POI-Typen aus der Datenbank. + +## Verwendung + +```js +const types = await fetchPoiTypService(); +``` + +## API + +- Endpoint: `GET /api/talas_v5_DB/poiTyp/readPoiTyp` \ No newline at end of file diff --git a/docs/services/database/pois/updatePoiService.md b/docs/services/database/pois/updatePoiService.md new file mode 100644 index 000000000..07f78d478 --- /dev/null +++ b/docs/services/database/pois/updatePoiService.md @@ -0,0 +1,21 @@ + + +# 📝 updatePoiService.js + +Service zur Aktualisierung eines POIs mit neuen Informationen. + +## Verwendung + +```js +await updatePoiService({ + idPoi: 5, + description: "Neuer Text", + idLD: 3, + idPoiTyp: 1 +}); +``` + +## API + +- Endpoint: `POST /api/talas_v5_DB/pois/updatePoi` +- Body: JSON mit den zu aktualisierenden Feldern \ No newline at end of file diff --git a/docs/services/database/polylines/fetchGisLinesService.md b/docs/services/database/polylines/fetchGisLinesService.md new file mode 100644 index 000000000..13cecfeca --- /dev/null +++ b/docs/services/database/polylines/fetchGisLinesService.md @@ -0,0 +1,19 @@ + + +# 📡 fetchGisLinesService.js + +Service zum Abrufen aller Linien aus der `gisLines`-Tabelle der Datenbank. + +## Verwendung + +```js +const lines = await fetchGisLinesService(); +``` + +## API + +- Endpoint: `GET /api/talas_v5_DB/gisLines/readGisLines` + +## Rückgabe + +- JSON-Array mit allen Linien und ihren Koordinaten \ No newline at end of file diff --git a/docs/services/database/polylines/updatePolylineCoordinatesService.md b/docs/services/database/polylines/updatePolylineCoordinatesService.md new file mode 100644 index 000000000..2cf961735 --- /dev/null +++ b/docs/services/database/polylines/updatePolylineCoordinatesService.md @@ -0,0 +1,24 @@ + + +# 🧭 updatePolylineCoordinatesService.js + +Service zum Aktualisieren der Koordinaten einer Linie in der Datenbank. + +## Verwendung + +```js +await updatePolylineCoordinatesService({ + idLD: 5, + idModul: 1, + newCoordinates: [[53.2, 8.4], [53.21, 8.45]] +}); +``` + +## API + +- Endpoint: `POST /api/talas_v5_DB/gisLines/updateLineCoordinates` +- Headers: `{ "Content-Type": "application/json" }` + +## Fehlerbehandlung + +- Bei Fehler: `throw new Error(...)` mit Backend-Meldung \ No newline at end of file diff --git a/docs/services/database/updateLocationInDatabaseService.md b/docs/services/database/updateLocationInDatabaseService.md index 1029b0d67..e5561d0fe 100644 --- a/docs/services/database/updateLocationInDatabaseService.md +++ b/docs/services/database/updateLocationInDatabaseService.md @@ -1,6 +1,21 @@ -# updateLocationInDatabaseService + -Aktualisiert die Position eines POIs in der Datenbank. +# 📍 updateLocationInDatabaseService.js -- Methode: `POST` -- Route: `/api/talas_v5_DB/pois/updateLocation` \ No newline at end of file +Service zur Aktualisierung der Geokoordinaten eines POIs in der Datenbank. + +## Verwendung + +```js +await updateLocationInDatabaseService(id, lat, lng); +``` + +## API-Route + +``` +/api/talas_v5_DB/pois/updateLocation +``` + +## Methode + +- `POST` mit JSON-Body: `{ id, latitude, longitude }` \ No newline at end of file diff --git a/docs/services/utils/fetchWithTimeout.md b/docs/services/utils/fetchWithTimeout.md index 9ddafbfb5..c57084bb4 100644 --- a/docs/services/utils/fetchWithTimeout.md +++ b/docs/services/utils/fetchWithTimeout.md @@ -1,6 +1,46 @@ -# fetchWithTimeout + -Hilfsfunktion für Fetch mit Abbruch bei Timeout. +# ⏱️ fetchWithTimeout.js -- Parameter: URL, Optionen, Timeout (default: 5000ms) -- Nutzt `AbortController` \ No newline at end of file +Hilfsfunktion zur Durchführung eines `fetch`-Requests mit einem Timeout. + +--- + +## 💡 Zweck + +Manche Serveranfragen können hängen bleiben. Diese Funktion sorgt dafür, dass eine Anfrage nach einer bestimmten Zeit abgebrochen wird, um UI-Blockierungen oder lange Wartezeiten zu vermeiden. + +--- + +## 🧩 Funktion + +```js +fetchWithTimeout(url, options, timeout); +``` + +- `url`: Ziel-URL +- `options`: Fetch-Optionen (Headers, Methode etc.) +- `timeout`: Zeit in Millisekunden (Standard: 5000 ms) + +--- + +## Beispiel + +```js +const response = await fetchWithTimeout("/api/data", {}, 3000); +``` + +--- + +## Verhalten + +- Verwendet `AbortController` zur Abbruchsteuerung +- Gibt den `fetch`-Response oder einen Fehler zurück + +--- + +## Pfad + +``` +/services/utils/fetchWithTimeout.js +``` \ No newline at end of file diff --git a/docs/services/webservice/fetchGisLinesStatusService.md b/docs/services/webservice/fetchGisLinesStatusService.md index 946a10ef1..da7745114 100644 --- a/docs/services/webservice/fetchGisLinesStatusService.md +++ b/docs/services/webservice/fetchGisLinesStatusService.md @@ -1,3 +1,5 @@ + + # fetchGisLinesStatusService Lädt Linienstatus-Daten über den TALAS WebService. @@ -10,8 +12,8 @@ Lädt Linienstatus-Daten über den TALAS WebService. /ClientData/WebServiceMap.asmx/GisLinesStatus?idMap={idMap} ``` -* Die `idMap` wird automatisch aus der URL (`?m=...`) gelesen. -* Diese WebService-Antwort enthält ein Objekt mit dem Feld `Statis[]`. +- Die `idMap` wird automatisch aus der URL (`?m=...`) gelesen. +- Diese WebService-Antwort enthält ein Objekt mit dem Feld `Statis[]`. --- @@ -24,8 +26,8 @@ Lädt Linienstatus-Daten über den TALAS WebService. } ``` -* `Statis[]` enthält Statusinformationen zu Linien (Farben, Meldungen, Werte). -* Diese Daten sind **nicht identisch** mit `gisLines.data` aus der Datenbank. +- `Statis[]` enthält Statusinformationen zu Linien (Farben, Meldungen, Werte). +- Diese Daten sind **nicht identisch** mit `gisLines.data` aus der Datenbank. --- @@ -42,9 +44,9 @@ Lädt Linienstatus-Daten über den TALAS WebService. ## 🧠 Verwendung im Frontend -* Die Daten werden über `fetchGisLinesStatusThunk` geladen. -* Sie landen im Redux Slice `gisLinesStatusSlice`. -* Zugriff über: `selectGisLinesStatus(state)` → enthält `.data`, `.status`, `.error` +- Die Daten werden über `fetchGisLinesStatusThunk` geladen. +- Sie landen im Redux Slice `gisLinesStatusSlice`. +- Zugriff über: `selectGisLinesStatus(state)` → enthält `.data`, `.status`, `.error` --- diff --git a/docs/services/webservice/fetchGisStationsMeasurementsService.md b/docs/services/webservice/fetchGisStationsMeasurementsService.md index fc692491a..f10c4b708 100644 --- a/docs/services/webservice/fetchGisStationsMeasurementsService.md +++ b/docs/services/webservice/fetchGisStationsMeasurementsService.md @@ -1,8 +1,16 @@ -# fetchGisStationsMeasurementsService + -Lädt GIS-Messwerte über den TALAS WebService. +# 📈 fetchGisStationsMeasurementsService.js -**URL-Aufbau:** `/ClientData/WebServiceMap.asmx/GisStationsMeasurements?idMap={idMap}&idUser={idUser}` +Lädt Schleifen- und Isolationswerte für Stationen. -- Holt Daten direkt basierend auf der URL (?m= & ?u=). -- Rückgabewert: `Statis[]` \ No newline at end of file +## Verwendung + +```js +const messwerte = await fetchGisStationsMeasurementsService(); +``` + +## API-Aufruf + +- Endpoint: `/ClientData/WebServiceMap.asmx/GisStationsMeasurements?idMap=...&idUser=...` +- Rückgabe: `Statis[]` \ No newline at end of file diff --git a/docs/services/webservice/fetchGisStationsStaticDistrictService.md b/docs/services/webservice/fetchGisStationsStaticDistrictService.md index 9f3c821f3..5ab0812b3 100644 --- a/docs/services/webservice/fetchGisStationsStaticDistrictService.md +++ b/docs/services/webservice/fetchGisStationsStaticDistrictService.md @@ -1,8 +1,16 @@ -# fetchGisStationsStaticDistrictService + -Lädt GIS-Stationen (statisch) für Bezirke. +# 🧭 fetchGisStationsStaticDistrictService.js -**Rückgabe:** `Points[]` +Lädt Koordinateninformationen (`Points[]`) aller Stationen im aktuellen Bezirk. -- Holt `idMap` und `idUser` aus der URL. -- WebService: `GisStationsStaticDistrict` \ No newline at end of file +## Verwendung + +```js +const points = await fetchGisStationsStaticDistrictService(); +``` + +## API-Aufruf + +- Endpoint: `/ClientData/WebServiceMap.asmx/GisStationsStaticDistrict?idMap=...&idUser=...` +- Rückgabe: `Points[]` \ No newline at end of file diff --git a/docs/services/webservice/fetchGisStationsStatusDistrictService.md b/docs/services/webservice/fetchGisStationsStatusDistrictService.md index afd48507f..c5d217c08 100644 --- a/docs/services/webservice/fetchGisStationsStatusDistrictService.md +++ b/docs/services/webservice/fetchGisStationsStatusDistrictService.md @@ -1,7 +1,16 @@ -# fetchGisStationsStatusDistrictService + -Lädt den Status der GIS-Bezirksstationen. +# 🚦 fetchGisStationsStatusDistrictService.js -**Rückgabe:** `Statis[]` +Service zum Abrufen des Status aller Stationen im aktuellen Bezirk. -- Nutzt die WebService-URL `GisStationsStatusDistrict`. \ No newline at end of file +## Verwendung + +```js +const result = await fetchGisStationsStatusDistrictService(); +``` + +## API-Aufruf + +- Endpoint: `/ClientData/WebServiceMap.asmx/GisStationsStatusDistrict?idMap=...&idUser=...` +- Rückgabe: `Statis[]` \ No newline at end of file diff --git a/docs/services/webservice/fetchGisSystemStaticService.md b/docs/services/webservice/fetchGisSystemStaticService.md index fa3b2e1fc..1a7da718f 100644 --- a/docs/services/webservice/fetchGisSystemStaticService.md +++ b/docs/services/webservice/fetchGisSystemStaticService.md @@ -1,6 +1,16 @@ -# fetchGisSystemStaticService + -Lädt Systemübersicht vom GIS WebService. +# 🧱 fetchGisSystemStaticService.js -- Rückgabe: `Systems[]` -- Liest `?m` und `?u` aus der URL. \ No newline at end of file +Service zur Abfrage von Systemdaten aller Module aus dem Webservice. + +## Verwendung + +```js +const systems = await fetchGisSystemStaticService(); +``` + +## API-Aufruf + +- Endpoint: `/ClientData/WebServiceMap.asmx/GisSystemStatic?idMap=...&idUser=...` +- Rückgabe: `Systems[]` \ No newline at end of file diff --git a/docs/services/webservice/fetchUserRightsService.md b/docs/services/webservice/fetchUserRightsService.md index 7f7b74c61..ed0b170cb 100644 --- a/docs/services/webservice/fetchUserRightsService.md +++ b/docs/services/webservice/fetchUserRightsService.md @@ -1,6 +1,16 @@ -# fetchUserRightsService + -Lädt Benutzerrechte über WebService. +# 🔐 fetchUserRightsService.js -- Falls `USE_MOCK_API` gesetzt ist → werden Fake-Daten zurückgegeben. -- Rückgabe: Liste von `IdRight` \ No newline at end of file +Lädt die Benutzerrechte über den TALAS WebService. + +## Verwendung + +```js +const rights = await fetchUserRightsService(); +``` + +## API-Aufruf + +- Endpoint: `/ClientData/WebServiceMap.asmx/GisSystemStatic?idMap=...&idUser=...` +- Rückgabe: `Rights[]` (Fallback: `[]`) \ No newline at end of file diff --git a/docs/utils/addContextMenuToMarker.md b/docs/utils/addContextMenuToMarker.md new file mode 100644 index 000000000..beaf58578 --- /dev/null +++ b/docs/utils/addContextMenuToMarker.md @@ -0,0 +1,28 @@ + + +# 🧭 addContextMenuToMarker.js + +Fügt einem Leaflet-Marker ein individuelles Kontextmenü hinzu. + +## Zweck + +- Erlaubt dem Nutzer über Rechtsklick oder Interaktion den Zugriff auf Funktionen wie: + - „Station öffnen (Tab)“ + - „Details anzeigen“ + - „Bearbeiten starten“ + +## Verwendung + +```js +addContextMenuToMarker(marker, idLD, name); +``` + +## Parameter + +- `marker`: Leaflet-Marker +- `idLD`: Geräte-ID +- `name`: Anzeigename + +## Kontext + +- Wird z. B. in `createAndSetDevices.js` verwendet diff --git a/docs/utils/contextMenuUtils.md b/docs/utils/contextMenuUtils.md new file mode 100644 index 000000000..753c40008 --- /dev/null +++ b/docs/utils/contextMenuUtils.md @@ -0,0 +1,14 @@ + + +# 📋 contextMenuUtils.js + +Hilfsfunktionen zur Verwaltung des Kontextmenüs auf Kartenmarkern und Polylinien. + +## Exportierte Funktionen + +- `getPoiContextMenuOptions(marker)` +- `getPolylineContextMenuOptions(line)` + +## Zweck + +- Menüeinträge je nach Zustand und Marker-Art dynamisch generieren diff --git a/docs/utils/geometryUtils.md b/docs/utils/geometryUtils.md new file mode 100644 index 000000000..4dd2920f1 --- /dev/null +++ b/docs/utils/geometryUtils.md @@ -0,0 +1,14 @@ + + +# 📐 geometryUtils.js + +Mathematische Funktionen zur Berechnung geometrischer Werte auf der Karte. + +## Funktionen + +- `calculateDistance(latlng1, latlng2)` +- `getMidpoint(coords)` + +## Zweck + +- Interne Hilfsfunktionen für Strecken, Tooltip-Positionen etc. diff --git a/docs/utils/initializeMap.md b/docs/utils/initializeMap.md new file mode 100644 index 000000000..738b33a9f --- /dev/null +++ b/docs/utils/initializeMap.md @@ -0,0 +1,15 @@ + + +# 🗺️ initializeMap.js + +Initialisiert die Leaflet-Karte mit Basislayern, Gruppen und globalen Events. + +## Funktionen + +- `initializeMap(mapElementId)` + +## Verhalten + +- Erstellt LayerGroups (Devices, POIs, Linien) +- Bindet Kontextmenü +- Stellt Default-Zoom und Position ein diff --git a/docs/utils/mapUtils.md b/docs/utils/mapUtils.md new file mode 100644 index 000000000..4db6069a7 --- /dev/null +++ b/docs/utils/mapUtils.md @@ -0,0 +1,10 @@ + + +# 🧰 mapUtils.js + +Allgemeine Hilfsfunktionen für Leaflet (z. B. Zoom, Marker-Checks, Layer-Findung). + +## Funktionen + +- `zoomToBounds(layerGroup)` +- `findLayerById(map, id)` diff --git a/docs/utils/markerUtils.md b/docs/utils/markerUtils.md new file mode 100644 index 000000000..0df242dce --- /dev/null +++ b/docs/utils/markerUtils.md @@ -0,0 +1,14 @@ + + +# 📍 markerUtils.js + +Hilfsfunktionen zur Erstellung und Konfiguration von Leaflet-Markern. + +## Exportierte Funktionen + +- `createIconByType(type)` +- `createMarker(position, icon)` + +## Kontext + +- Wird in `setupDevices.js` und `setupPOIs.js` verwendet diff --git a/docs/utils/mysqlPool.md b/docs/utils/mysqlPool.md new file mode 100644 index 000000000..847f12ae7 --- /dev/null +++ b/docs/utils/mysqlPool.md @@ -0,0 +1,16 @@ + + +# 💾 mysqlPool.js + +MySQL-Verbindungspool für effiziente Datenbankabfragen (z. B. mit `promise-mysql`). + +## Verwendung + +```js +const connection = await pool.getConnection(); +``` + +## Zweck + +- Reuse von Verbindungen +- Fehlervermeidung bei vielen gleichzeitigen Abfragen diff --git a/docs/utils/openInNewTab.md b/docs/utils/openInNewTab.md new file mode 100644 index 000000000..d883d4f63 --- /dev/null +++ b/docs/utils/openInNewTab.md @@ -0,0 +1,15 @@ + + +# 🪟 openInNewTab.js + +Öffnet eine URL in einem neuen Tab und schützt vor Referrer-Leaks. + +## Verwendung + +```js +openInNewTab(url); +``` + +## Intern + +- nutzt `window.open` mit `noopener,noreferrer` diff --git a/docs/utils/openInSameWindow.md b/docs/utils/openInSameWindow.md new file mode 100644 index 000000000..c778e2c18 --- /dev/null +++ b/docs/utils/openInSameWindow.md @@ -0,0 +1,15 @@ + + +# 🚪 openInSameWindow.js + +Öffnet eine URL im aktuellen Tab. + +## Verwendung + +```js +openInSameWindow("/target"); +``` + +## Verhalten + +- `window.location.href = url` diff --git a/docs/utils/poiUtils.md b/docs/utils/poiUtils.md new file mode 100644 index 000000000..aa67c8922 --- /dev/null +++ b/docs/utils/poiUtils.md @@ -0,0 +1,14 @@ + + +# 🧭 poiUtils.js + +Hilfsfunktionen zur Handhabung von POIs (z. B. Icons, Typzuordnung, Interaktion). + +## Funktionen + +- `getIconForPoiType(type)` +- `groupPOIsByType(list)` + +## Verwendung + +- In `setupPOIs.js` und Thunks für POI-Handling diff --git a/docs/utils/polylines/contextMenu.md b/docs/utils/polylines/contextMenu.md new file mode 100644 index 000000000..df9114129 --- /dev/null +++ b/docs/utils/polylines/contextMenu.md @@ -0,0 +1,10 @@ + + +# 📋 contextMenu.js + +Funktionen zum Steuern des Polyline-Kontextmenüs (Schließen, Zurücksetzen, etc.). + +## exportierte Funktionen + +- `closePolylineSelectionAndContextMenu(map)`: Setzt Polyline-Auswahl zurück und schließt das Kontextmenü +- `monitorContextMenu(map)`: Überwacht via `localStorage`, ob das Menü automatisch geschlossen werden soll \ No newline at end of file diff --git a/docs/utils/polylines/eventHandlers.md b/docs/utils/polylines/eventHandlers.md new file mode 100644 index 000000000..e28deb95a --- /dev/null +++ b/docs/utils/polylines/eventHandlers.md @@ -0,0 +1,10 @@ + + +# 🖱️ eventHandlers.js + +Bindet Maus-Events an Polylinien (z. B. Hover-Effekte). + +## exportierte Funktionen + +- `enablePolylineEvents(polylines, lineColors)` +- `disablePolylineEvents(polylines)` \ No newline at end of file diff --git a/docs/utils/polylines/monitorContextMenu.md b/docs/utils/polylines/monitorContextMenu.md new file mode 100644 index 000000000..5e72ebb20 --- /dev/null +++ b/docs/utils/polylines/monitorContextMenu.md @@ -0,0 +1,10 @@ + + +# 🔄 monitorContextMenu.js + +Erweiterte Überwachung des Kontextmenüs über `localStorage`. + +## Funktion + +- Importiert `closePolylineSelectionAndContextMenu` +- Ruft regelmäßig `setTimeout` auf, um `contextMenuExpired` zu prüfen \ No newline at end of file diff --git a/docs/utils/polylines/polylineSubscription.md b/docs/utils/polylines/polylineSubscription.md new file mode 100644 index 000000000..a7374f798 --- /dev/null +++ b/docs/utils/polylines/polylineSubscription.md @@ -0,0 +1,10 @@ + + +# 🧭 polylineSubscription.js + +Abonnement auf den Redux-Store, um auf `forceClose` im Kontextmenü zu reagieren. + +## Verhalten + +- Erkennt `polylineContextMenu.forceClose` +- Ruft `contextmenu.hide()` auf und resetet Redux-Status \ No newline at end of file diff --git a/docs/utils/polylines/redrawPolyline.md b/docs/utils/polylines/redrawPolyline.md new file mode 100644 index 000000000..e7ae9d31f --- /dev/null +++ b/docs/utils/polylines/redrawPolyline.md @@ -0,0 +1,14 @@ + + +# 🔁 redrawPolyline.js + +Zeichnet eine Polyline mit neuen Koordinaten und Tooltip neu. + +## Funktion + +```js +redrawPolyline(lineData, lineColors, tooltipContents, map) +``` + +- Entfernt vorherige Polyline +- Erstellt neue mit Tooltip und Hover-Effekten \ No newline at end of file diff --git a/docs/utils/polylines/setupPolylines.md b/docs/utils/polylines/setupPolylines.md index ace2bab84..1f3c20246 100644 --- a/docs/utils/polylines/setupPolylines.md +++ b/docs/utils/polylines/setupPolylines.md @@ -1,3 +1,5 @@ + + # 🧭 setupPolylines.js – Polylinien zeichnen und verwalten ## Zweck @@ -38,10 +40,7 @@ NEXT_PUBLIC_API_PORT_MODE=dev ```js 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/`; +const baseUrl = mode === "dev" ? `${window.location.protocol}//${window.location.hostname}:80/talas5/` : `${window.location.origin}/talas5/`; ``` --- @@ -74,4 +73,4 @@ const baseUrl = --- -📄 Pfad: `/docs/frontend/utils/polylines/setupPolylines.md` \ No newline at end of file +📄 Pfad: `/docs/frontend/utils/polylines/setupPolylines.md` diff --git a/docs/utils/setupDevices.md b/docs/utils/setupDevices.md new file mode 100644 index 000000000..3297a5cf7 --- /dev/null +++ b/docs/utils/setupDevices.md @@ -0,0 +1,15 @@ + + +# 🔌 setupDevices.js + +Fügt alle Geräte (Devices) zur Karte hinzu. + +## Funktionen + +- `setupDevices(map, deviceList)` + +## Verhalten + +- Marker-Erstellung +- Eventbindung +- Layer-Zuweisung diff --git a/docs/utils/setupPOIs.md b/docs/utils/setupPOIs.md index ac8d7f7ad..c84e09202 100644 --- a/docs/utils/setupPOIs.md +++ b/docs/utils/setupPOIs.md @@ -1,3 +1,5 @@ + + # 🧭 `setupPOIs.js` ## Zweck diff --git a/docs/utils/zoomAndCenterUtils.md b/docs/utils/zoomAndCenterUtils.md new file mode 100644 index 000000000..a2bb75dca --- /dev/null +++ b/docs/utils/zoomAndCenterUtils.md @@ -0,0 +1,10 @@ + + +# 🔍 zoomAndCenterUtils.js + +Hilfsfunktionen zum Zoomen auf Marker oder Linien. + +## Funktionen + +- `zoomToMarker(map, marker)` +- `centerOnCoordinates(map, coords)` diff --git a/package-lock.json b/package-lock.json index 238125eb1..21443cd00 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "27.05.2025 NodeMap", + "name": "28.05.2025 NodeMap", "lockfileVersion": 3, "requires": true, "packages": {