diff --git a/CHANGELOG.md b/CHANGELOG.md index 85ea9e27f..b039dfc32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,28 @@ Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentie --- +## [1.1.100] – 2025-05-19 + +### Added + +- ✅ Vollständige Redux-Dokumentation erstellt: + - Alle aktiven Redux-Slices als `.md`-Dateien dokumentiert + - Struktur: `docs/frontend/redux/slices/` + - API-Funktionen in `docs/frontend/redux/api/fromWebService/` +- 🌐 Neue Markdown-Dateien u. a. für: + - `poiTypesSlice`, `urlParameterSlice`, `zoomTriggerSlice` + - `gisStationsStaticSlice`, `gisSystemStaticSlice`, ... + - `polylineLayerVisibleSlice`, `polylineContextMenuSlice`, ... +- Jede Datei enthält: + - Initialzustand, Aktionen, Beispielverwendung, Pfadreferenz + +### Changed + +- `README.md`: Hinweis auf neue Dokumentationsstruktur ergänzt +- `CHANGELOG.md`: Neuer Abschnitt für Version 1.1.100 eingefügt + +--- + ## [1.1.98] – 2025-05-19 ### Changed diff --git a/config/appVersion.js b/config/appVersion.js index 8e7fbccdd..621c0090a 100644 --- a/config/appVersion.js +++ b/config/appVersion.js @@ -1,2 +1,2 @@ // /config/appVersion -export const APP_VERSION = "1.1.99"; +export const APP_VERSION = "1.1.101"; diff --git a/docs/frontend/redux/api/fromDB/fetchLocationDevices.md b/docs/frontend/redux/api/fromDB/fetchLocationDevices.md new file mode 100644 index 000000000..79f57aaa0 --- /dev/null +++ b/docs/frontend/redux/api/fromDB/fetchLocationDevices.md @@ -0,0 +1,70 @@ +# 🌐 fetchLocationDevices + +Diese Funktion lädt alle Geräte für einen bestimmten Standort aus der Datenbank via API-Endpunkt. + +--- + +## 📍 Pfad + +``` +/redux/api/fromDB/fetchLocationDevices.js +``` + +--- + +## 📥 Funktion + +```ts +export const fetchLocationDevices = async () => { + const response = await fetch("/api/talas_v5_DB/locationDevice/locationDevices"); + if (!response.ok) { + throw new Error("Geräteliste konnte nicht geladen werden"); + } + return await response.json(); +}; +``` + +--- + +## 📡 API-Endpunkt + +```http +GET /api/talas_v5_DB/locationDevice/locationDevices +``` + +Dieser Endpunkt liefert eine JSON-Liste aller Geräte eines Standorts (z. B. für Map-Rendering, POI-Anzeige, Standortübersicht etc.). + +--- + +## 🧪 Fehlerbehandlung + +Falls der Request fehlschlägt (z. B. Statuscode ≠ 2xx), wird folgender Fehler ausgelöst: + +``` +"Geräteliste konnte nicht geladen werden" +``` + +Dies kann im Redux-Slice über den `.rejected`-Case ausgewertet werden. + +--- + +## 🧩 Verwendung + +```ts +import { fetchLocationDevices } from "@/redux/api/fromDB/fetchLocationDevices"; + +const result = await fetchLocationDevices(); +console.log(result); // Erwartet: Array von Geräteobjekten +``` + +Diese Funktion wird typischerweise im Redux-Thunk `fetchLocationDevicesFromDB` verwendet: +```ts +const data = await fetchLocationDevices(); +``` + +--- + +## 🔄 Zusammenhang + +- Eingebunden in: [`locationDevicesFromDBSlice.js`](./locationDevicesFromDBSlice.md) +- Redux Thunk: `fetchLocationDevicesFromDB` \ No newline at end of file diff --git a/docs/frontend/redux/slices/addPoiOnPolylineSlice.md b/docs/frontend/redux/slices/addPoiOnPolylineSlice.md new file mode 100644 index 000000000..63a203f47 --- /dev/null +++ b/docs/frontend/redux/slices/addPoiOnPolylineSlice.md @@ -0,0 +1,17 @@ +# ➕ 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/frontend/redux/slices/currentPoiSlice.md b/docs/frontend/redux/slices/currentPoiSlice.md new file mode 100644 index 000000000..3dc2eba95 --- /dev/null +++ b/docs/frontend/redux/slices/currentPoiSlice.md @@ -0,0 +1,22 @@ +# 📍 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/frontend/redux/slices/db/locationDevicesFromDBSlice.md b/docs/frontend/redux/slices/db/locationDevicesFromDBSlice.md new file mode 100644 index 000000000..a9af9c583 --- /dev/null +++ b/docs/frontend/redux/slices/db/locationDevicesFromDBSlice.md @@ -0,0 +1,103 @@ +# 📦 locationDevicesFromDBSlice + +Zuständig für das Laden und Speichern der Geräteinformationen pro Standort (Location) aus der Datenbank. + +## 🧠 Zweck + +Dieses Slice verwaltet die Geräte, die mit einem bestimmten Standort (Location) verknüpft sind. +Es nutzt ein `createAsyncThunk`, um die Daten vom Webservice bzw. von der lokalen Datenbank zu laden. + +--- + +## 🔁 Datenfluss + +1. **Dispatch `fetchLocationDevicesFromDB()`** +2. **Daten werden über `fetchLocationDevices()` geladen** +3. **Status wird aktualisiert (`loading`, `succeeded`, `failed`)** +4. **Geräte-Liste (`devices`) wird gespeichert** + +--- + +## 🧩 Slice-Definition + +```js +initialState: { + devices: [], // Geräte-Liste pro Standort + status: "idle", // "idle" | "loading" | "succeeded" | "failed" + error: null // Fehlernachricht im Fehlerfall +} +``` + +--- + +## 🔧 Actions + +| Action Type | Beschreibung | +|--------------------------------------------|--------------------------------------------------| +| `fetchLocationDevicesFromDB/pending` | Startet den Ladeprozess | +| `fetchLocationDevicesFromDB/fulfilled` | Speichert die empfangenen Geräte in `devices` | +| `fetchLocationDevicesFromDB/rejected` | Speichert die Fehlermeldung in `error` | + +--- + +## 📥 Async Thunk + +```ts +export const fetchLocationDevicesFromDB = createAsyncThunk( + "locationDevicesFromDB/fetchLocationDevicesFromDB", + async () => { + return fetchLocationDevices(); // API-Aufruf aus services/api + } +); +``` + +Die Funktion `fetchLocationDevices()` befindet sich unter: + +``` +/redux/api/fromDB/fetchLocationDevices.js +``` + +--- + +## 🧪 Verwendung in Komponenten + +### Beispiel mit `useSelector` & `useDispatch` + +```tsx +import { useSelector, useDispatch } from "react-redux"; +import { fetchLocationDevicesFromDB } from "@/redux/slices/db/locationDevicesFromDBSlice"; + +const dispatch = useDispatch(); +const devices = useSelector((state) => state.locationDevicesFromDB.devices); +const status = useSelector((state) => state.locationDevicesFromDB.status); + +useEffect(() => { + dispatch(fetchLocationDevicesFromDB()); +}, []); +``` + +--- + +## 🧩 Integration im Store + +```ts +import locationDevicesFromDBReducer from "./slices/db/locationDevicesFromDBSlice"; + +export const store = configureStore({ + reducer: { + locationDevicesFromDB: locationDevicesFromDBReducer, + // weitere Slices ... + }, +}); +``` + +--- + +## 📌 Hinweis + +Dieses Slice ist Bestandteil der neuen Redux-Architektur (ehemals Recoil) +→ siehe auch `CHANGELOG.md` Version `1.1.97` bis `1.1.98`. + +``` +Pfad: /redux/slices/db/locationDevicesFromDBSlice.js +``` \ No newline at end of file diff --git a/docs/frontend/redux/slices/db/poiTypesSlice.md b/docs/frontend/redux/slices/db/poiTypesSlice.md new file mode 100644 index 000000000..c772c22a7 --- /dev/null +++ b/docs/frontend/redux/slices/db/poiTypesSlice.md @@ -0,0 +1,93 @@ +# 🧭 poiTypesSlice + +Verwaltet die Point-of-Interest (POI) Typen, die vom Server bereitgestellt werden – z. B. für die Darstellung von Symbolen oder Layer-Kategorien in der Karte. + +--- + +## 📍 Datei + +``` +/redux/slices/db/poiTypesSlice.js +``` + +--- + +## 📦 Initialer State + +```ts +{ + data: [], // Liste der POI-Typen + status: "idle" // Ladezustand: "idle" | "loading" | "succeeded" | "failed" +} +``` + +--- + +## ⚙️ Async Thunk: `fetchPoiTypes` + +```ts +export const fetchPoiTypes = createAsyncThunk("poiTypes/fetchPoiTypes", async () => { + 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"; + } + + const response = await fetch(`${API_BASE_URL}/api/talas_v5_DB/poiTyp/readPoiTyp`); + return await response.json(); +}); +``` + +--- + +## 🔁 Lifecycle im Slice + +| Zustand | Beschreibung | +|--------------------|--------------------------------------| +| `pending` | Setzt `status = "loading"` | +| `fulfilled` | Speichert `payload` in `state.data` und setzt `status = "succeeded"` | +| `rejected` | Setzt `status = "failed"` | + +--- + +## 🧪 Verwendung im Component + +```tsx +import { useSelector, useDispatch } from "react-redux"; +import { fetchPoiTypes } from "@/redux/slices/db/poiTypesSlice"; + +const dispatch = useDispatch(); +const poiTypes = useSelector((state) => state.poiTypes.data); +const status = useSelector((state) => state.poiTypes.status); + +useEffect(() => { + dispatch(fetchPoiTypes()); +}, []); +``` + +--- + +## 🧩 Store Integration + +```ts +import poiTypesReducer from "./slices/db/poiTypesSlice"; + +export const store = configureStore({ + reducer: { + poiTypes: poiTypesReducer, + // weitere ... + }, +}); +``` + +--- + +## 🌐 API-Endpunkt + +```http +GET /api/talas_v5_DB/poiTyp/readPoiTyp +``` + +Erwartet JSON-Antwort mit allen verfügbaren POI-Typen für die App. \ No newline at end of file diff --git a/docs/frontend/redux/slices/lineVisibilitySlice.md b/docs/frontend/redux/slices/lineVisibilitySlice.md new file mode 100644 index 000000000..1151d481e --- /dev/null +++ b/docs/frontend/redux/slices/lineVisibilitySlice.md @@ -0,0 +1,16 @@ +# 📶 lineVisibilitySlice + +Speichert, welche Linien (Kabelstrecken) aktiv sichtbar sind. + +## 🔧 Zustand + +```ts +{ + activeLines: { [idLD]: true | false } +} +``` + +## 🎯 Aktionen + +- `updateLineStatus({ idLD, active })` +- `setActiveLines({...})` \ No newline at end of file diff --git a/docs/frontend/redux/slices/mapLayersSlice.md b/docs/frontend/redux/slices/mapLayersSlice.md new file mode 100644 index 000000000..02cc2a395 --- /dev/null +++ b/docs/frontend/redux/slices/mapLayersSlice.md @@ -0,0 +1,18 @@ +# 🗺️ mapLayersSlice + +Verwaltet Sichtbarkeit der verschiedenen Map-Layer pro System (TALAS, ECI, GMA usw.). + +## 🔧 Zustand + +```ts +{ + TALAS: true, + ECI: true, + ... +} +``` + +## 🎯 Aktionen + +- `toggleLayer(layerName)` +- `setLayerVisibility({ layer, visibility })` \ No newline at end of file diff --git a/docs/frontend/redux/slices/poiLayerVisibleSlice.md b/docs/frontend/redux/slices/poiLayerVisibleSlice.md new file mode 100644 index 000000000..b458ed4c2 --- /dev/null +++ b/docs/frontend/redux/slices/poiLayerVisibleSlice.md @@ -0,0 +1,16 @@ +# 👁️ 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/frontend/redux/slices/poiReadFromDbTriggerSlice.md b/docs/frontend/redux/slices/poiReadFromDbTriggerSlice.md new file mode 100644 index 000000000..6cf854962 --- /dev/null +++ b/docs/frontend/redux/slices/poiReadFromDbTriggerSlice.md @@ -0,0 +1,16 @@ +# 🔄 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/frontend/redux/slices/polylineContextMenuSlice.md b/docs/frontend/redux/slices/polylineContextMenuSlice.md new file mode 100644 index 000000000..98df14a49 --- /dev/null +++ b/docs/frontend/redux/slices/polylineContextMenuSlice.md @@ -0,0 +1,23 @@ +# 📋 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/frontend/redux/slices/polylineEventsDisabledSlice.md b/docs/frontend/redux/slices/polylineEventsDisabledSlice.md new file mode 100644 index 000000000..bf24162ac --- /dev/null +++ b/docs/frontend/redux/slices/polylineEventsDisabledSlice.md @@ -0,0 +1,16 @@ +# 🚫 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/frontend/redux/slices/polylineLayerVisibleSlice.md b/docs/frontend/redux/slices/polylineLayerVisibleSlice.md new file mode 100644 index 000000000..5e88d62be --- /dev/null +++ b/docs/frontend/redux/slices/polylineLayerVisibleSlice.md @@ -0,0 +1,15 @@ +# 📏 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/frontend/redux/slices/readPoiMarkersStoreSlice.md b/docs/frontend/redux/slices/readPoiMarkersStoreSlice.md new file mode 100644 index 000000000..5ab0378eb --- /dev/null +++ b/docs/frontend/redux/slices/readPoiMarkersStoreSlice.md @@ -0,0 +1,16 @@ +# 📌 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/frontend/redux/slices/selectedDeviceSlice.md b/docs/frontend/redux/slices/selectedDeviceSlice.md new file mode 100644 index 000000000..81dcc329b --- /dev/null +++ b/docs/frontend/redux/slices/selectedDeviceSlice.md @@ -0,0 +1,14 @@ +# 🔧 selectedDeviceSlice + +Speichert das aktuell ausgewählte Gerät (z. B. für Detailanzeige, Popup oder Bearbeitung). + +## 🔧 Zustand + +```ts +null | { ...deviceData } +``` + +## 🎯 Aktionen + +- `setSelectedDevice(device)` +- `clearSelectedDevice()` \ No newline at end of file diff --git a/docs/frontend/redux/slices/selectedPoiSlice.md b/docs/frontend/redux/slices/selectedPoiSlice.md new file mode 100644 index 000000000..42e778a5e --- /dev/null +++ b/docs/frontend/redux/slices/selectedPoiSlice.md @@ -0,0 +1,14 @@ +# 📍 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/frontend/redux/slices/urlParameterSlice.md b/docs/frontend/redux/slices/urlParameterSlice.md new file mode 100644 index 000000000..8e1511a34 --- /dev/null +++ b/docs/frontend/redux/slices/urlParameterSlice.md @@ -0,0 +1,18 @@ +# 🌐 urlParameterSlice + +Verwaltet `mapId` und `userId`, die aus der URL gelesen werden. + +## 🔧 Zustand + +```ts +{ + mapId: null | string, + userId: null | string +} +``` + +## 🎯 Aktionen + +- `setMapId(id)` +- `setUserId(id)` +- `setFromURL({ m, u })` – gleichzeitig beide setzen aus URL-Params \ No newline at end of file diff --git a/docs/frontend/redux/slices/webService/gisStationsMeasurementsSlice.md b/docs/frontend/redux/slices/webService/gisStationsMeasurementsSlice.md new file mode 100644 index 000000000..515b7f682 --- /dev/null +++ b/docs/frontend/redux/slices/webService/gisStationsMeasurementsSlice.md @@ -0,0 +1,26 @@ +# 📈 gisStationsMeasurementsSlice + +Verwaltet Messdaten für GIS-Stationen, z. B. Spannungen, Strom, Sensorwerte etc. + +## 🔧 Pfad +`/redux/slices/webService/gisStationsMeasurementsSlice.js` + +## 📦 Initial State + +```ts +{ + data: [], + status: "idle", + error: null +} +``` + +## 🔁 Thunk: `fetchGisStationsMeasurementsFromWebService` + +Verwendet `fetchGisStationsMeasurements()` als API-Quelle. + +## 📊 Selector + +```ts +selectGisStationsMeasurements = (state) => state.gisStationsMeasurements.data; +``` \ No newline at end of file diff --git a/docs/frontend/redux/slices/webService/gisStationsStaticDistrictSlice.md b/docs/frontend/redux/slices/webService/gisStationsStaticDistrictSlice.md new file mode 100644 index 000000000..5952fbfdb --- /dev/null +++ b/docs/frontend/redux/slices/webService/gisStationsStaticDistrictSlice.md @@ -0,0 +1,18 @@ +# 🏙️ gisStationsStaticDistrictSlice + +Verwaltet statische Daten für GIS-Bezirksstationen. + +## 🔧 Pfad +`/redux/slices/webService/gisStationsStaticDistrictSlice.js` + +## 📦 Initial State + +```ts +{ + data: [], + status: "idle", + error: null +} +``` + +## 🔁 Thunk: `fetchGisStationsStaticDistrictFromWebService` \ No newline at end of file diff --git a/docs/frontend/redux/slices/webService/gisStationsStaticSlice.md b/docs/frontend/redux/slices/webService/gisStationsStaticSlice.md index 4ccedd907..67f159b11 100644 --- a/docs/frontend/redux/slices/webService/gisStationsStaticSlice.md +++ b/docs/frontend/redux/slices/webService/gisStationsStaticSlice.md @@ -1,92 +1,26 @@ -# Redux Slice Dokumentation: `gisStationsStaticSlice.js` +# 🛰️ gisStationsStaticSlice -## Zweck -Dieses Slice verwaltet die Daten für **GisStationsStatic**, welche statische Standorte (z. B. Bereiche oder Stationen) für die Kartenanwendung darstellen. Diese Daten werden im `DataSheet.js` Dropdown-Menü verwendet, um auswählbare Stationen darzustellen. +Verwaltet statische Informationen zu GIS-Stationen – z. B. für das Dropdown im DataSheet-Bereich. ---- +## 🔧 Pfad +`/redux/slices/webService/gisStationsStaticSlice.js` -## Speicherort -``` -/redux/slices/webService/gisStationsStaticSlice.js -``` +## 📦 Initial State ---- - -## Zustandsstruktur (`initialState`) -```js +```ts { - data: null, // enthält die API-Datenstruktur (z. B. { Points: [...] }) - status: "idle", // "idle" | "loading" | "succeeded" | "failed" - error: null // Fehlernachricht bei einem API-Fehler + data: null, + status: "idle", + error: null } ``` ---- +## 🔁 Thunk: `fetchGisStationsStatic` -## Enthaltene Funktionen +Lädt Daten über dynamisch erzeugte URL (`idMap` aus `window.location.search`). -### 1. `fetchGisStationsStatic` -Ein `createAsyncThunk`, der die GIS-Daten vom Webservice lädt. +## 🧪 Logging -```js -export const fetchGisStationsStatic = createAsyncThunk( - "gisStationsStatic/fetchGisStationsStatic", - async (_, { rejectWithValue }) => { ... } -); -``` - -- Die URL wird dynamisch aus `window.location.protocol`, `window.location.hostname` und Port 80 zusammengesetzt. -- `idMap` wird aus der aktuellen URL gelesen (`?m=...`). -- Es wird erwartet, dass der Webservice JSON im Format `{ Points: [...] }` zurückliefert. - -### 2. `gisStationsStaticSlice` -Das eigentliche Redux-Slice mit `createSlice`: - -- Behandelt `pending`, `fulfilled`, `rejected` für `fetchGisStationsStatic` -- Speichert den Ladezustand und die API-Antwort - -### 3. `selectGisStationsStatic` -Selector zum Zugriff auf `state.gisStationsStatic.data`. - -```js -export const selectGisStationsStatic = (state) => state.gisStationsStatic.data; -``` - ---- - -## API-Endpunkt -Der folgende Endpunkt wird aufgerufen: - -``` -http://:80/talas5/ClientData/WebServiceMap.asmx/GisStationsStatic?idMap= -``` - -Dabei wird `idMap` dynamisch aus der aktuellen Browser-URL geholt. - ---- - -## Verwendungsbeispiel -Wird z. B. in `DataSheet.js` verwendet, um die Dropdown-Auswahl zu befüllen: - -```js -const GisStationsStatic = useSelector(selectGisStationsStatic) || []; -``` - ---- - -## Besonderheiten -- Der API-Port ist **hart auf 80 gesetzt**, da der Webservice sowohl in Dev- als auch Prod-Umgebung darüber erreichbar ist. -- Eine Browser-basierte URL-Analyse (`window.location`) bestimmt dynamisch den Host. -- Fehler werden über `rejectWithValue` zurückgegeben und im Slice gespeichert. - ---- - -## Verknüpfte Komponenten -- `DataSheet.js` -- `useMapComponentState.js` -- Webservice: `WebServiceMap.asmx` - ---- - -## Ziel für Dokumentation -Empfohlener Pfad: `/docs/gisStationsStaticSlice.md` +```ts +console.log("📡 API Request URL in redux slice:", url); +``` \ No newline at end of file diff --git a/docs/frontend/redux/slices/webService/gisStationsStatusDistrictSlice.md b/docs/frontend/redux/slices/webService/gisStationsStatusDistrictSlice.md new file mode 100644 index 000000000..e0bf146f9 --- /dev/null +++ b/docs/frontend/redux/slices/webService/gisStationsStatusDistrictSlice.md @@ -0,0 +1,18 @@ +# 📶 gisStationsStatusDistrictSlice + +Verwaltet Statusinformationen für GIS-Bezirksstationen (z. B. online/offline, Fehlerstatus). + +## 🔧 Pfad +`/redux/slices/webService/gisStationsStatusDistrictSlice.js` + +## 📦 Initial State + +```ts +{ + data: [], + status: "idle", + error: null +} +``` + +## 🔁 Thunk: `fetchGisStationsStatusDistrictFromWebService` \ No newline at end of file diff --git a/docs/frontend/redux/slices/webService/gisSystemStaticSlice.md b/docs/frontend/redux/slices/webService/gisSystemStaticSlice.md new file mode 100644 index 000000000..9c6c4e7c6 --- /dev/null +++ b/docs/frontend/redux/slices/webService/gisSystemStaticSlice.md @@ -0,0 +1,25 @@ +# 🧭 gisSystemStaticSlice + +Verwaltet statische GIS-Systemdaten (`Systems[]`), die vom Server zurückgegeben werden. + +## 🔧 Pfad +`/redux/slices/webService/gisSystemStaticSlice.js` + +## 📦 Initial State + +```ts +{ + data: [], // enthält Systems[] + status: "idle", // Ladezustand + error: null +} +``` + +## 🔁 Thunk: `fetchGisSystemStaticFromWebService` + +Ruft `fetchGisSystemStatic()` auf und speichert nur das Feld `Systems` im Redux-State. + +## 🧩 Aktionen + +- `setGisSystemStatic(data)` → manuelles Setzen von `Systems[]` +- `fulfilled` → speichert Systems[] \ No newline at end of file diff --git a/docs/frontend/redux/slices/zoomTriggerSlice.md b/docs/frontend/redux/slices/zoomTriggerSlice.md new file mode 100644 index 000000000..f21d4556c --- /dev/null +++ b/docs/frontend/redux/slices/zoomTriggerSlice.md @@ -0,0 +1,16 @@ +# 🔍 zoomTriggerSlice + +Löst ein Neuzeichnen oder eine Zoom-Interaktion aus. + +## 🔧 Zustand + +```ts +{ + trigger: 0 +} +``` + +## 🎯 Aktionen + +- `incrementZoomTrigger()` – erhöht Trigger-Zähler (z. B. zur Synchronisation) +- `resetZoomTrigger()` – setzt Trigger zurück \ No newline at end of file diff --git a/redux/api/fromDB/poiTypLoader.js b/redux/api/fromDB/poiTypLoader.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/redux/api/fromWebService/userSessionLoader.js b/redux/api/fromWebService/userSessionLoader.js deleted file mode 100644 index e69de29bb..000000000