diff --git a/.env.production b/.env.production index 336b31e52..c50fbd1ef 100644 --- a/.env.production +++ b/.env.production @@ -12,7 +12,7 @@ NEXT_PUBLIC_DEBUG_LOG=false #auf dem Entwicklungsrechner dev läuft auf Port 3000 und auf dem Server prod auf Port 80, aber der WebService ist immer auf PORT 80 -NEXT_PUBLIC_API_PORT_MODE=prod + NEXT_PUBLIC_USE_MOCKS=false # Der Unterordner talas5 gleich hinter der IP-Adresse (oder Servername) muss konfigurierbar sein. diff --git a/CHANGELOG.md b/CHANGELOG.md index e386db8a2..65c036054 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,31 @@ Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentie --- +## [1.1.253] – 2025-06-11 + +### ✨ Features + +- POIs lassen sich jetzt vollständig erstellen, bearbeiten und löschen +- Tooltip zeigt den korrekten Gerätenamen (aus `gisStationsStaticDistrict`) +- Bearbeitungsdialog lädt initial die richtige Gerätezuteilung (Dropdown) +- Redux-Anbindung für `updatePoiService`, `updatePoiThunk`, `handlers.js` konsolidiert + +### 🛠 Fixed + +- Fehler beim Aktualisieren behoben (idLD und leeres Name-Feld) +- Dropdown im Modal zeigt jetzt korrekt das zum POI zugehörige Gerät + +### 🧠 Architektur + +- Kein direkter Zugriff mehr auf Name – nur `description` und `idLD` +- Fehlerhandling und Zustandskontrolle über Redux (Status, Error) + +### 🔧 Version + +- 📦 `appVersion.js` auf Version **1.1.253** erhöht + +--- + ## [1.1.240] – 2025-06-06 ### ✨ UI-Verbesserung diff --git a/README.md b/README.md index abd6650d9..c149836c3 100644 --- a/README.md +++ b/README.md @@ -86,17 +86,16 @@ umgesetzt. 2. **ZIP-Paket vorbereiten (lokal):** - Verzeichnis `.next/` - - Verzeichnisse `public/`, `node_modules/` falls nich vorhanden sind oder etwas hinzugefügt wurd - (Bilder oder Bibliothek) - - Dateien `.env.production`, `package.json` falls nich vorhanden sind oder etwas hinzugefügt wurd - (Umgebungsvariablen oder Bibliothek) - - optional: `nssm.exe`, `StartNodeApp.bat`, `Start-Dev.ps1` um Windows Dienst zu erstellen falls - noch nicht vorhanden ist Download: + - Verzeichnisse `public/`, `node_modules/` falls nicht vorhanden sind oder etwas hinzugefügt + wurde (Bilder oder Bibliothek) + - Dateien `.env.production`, `package.json` falls nicht vorhanden sind oder etwas hinzugefügt + wurde (Umgebungsvariablen oder Bibliothek) + - `nssm.exe`, `StartNodeApp.bat`, `Start-Dev.ps1` um Windows Dienst zu erstellen falls noch nicht + vorhanden ist Download: [nssm](https://littwinsystemtechnik.sharepoint.com/:f:/r/sites/LittwinSystemtechnik/Freigegebene%20Dokumente/Projekte/Masterkarte%20V2%20setup%20files?csf=1&web=1&e=Sm1wwt) 3. **Auf Server kopieren nach:** Ein Ordner temp auf dem Desktop erstellen->ZIP-Paket - einfügen->entpacken->Inhalt in folgende Verzeichnis einfügen, weil verhindert Windows Server - direkt kopieren in folgende Verzeichnis + einfügen->entpacken->Inhalt in folgende Verzeichnis einfügen ``` C:\inetpub\wwwroot\talas5\nodeMap\ diff --git a/TODO.md b/TODO.md index 4830cea4a..16d78fd34 100644 --- a/TODO.md +++ b/TODO.md @@ -48,5 +48,6 @@ optimiert besser als setInterval, zuerst nur für TALAS.web WebServices erstellen, irgendwann soll die Daten von DB auch mit WebSocket gelöst werden -- [ ] TODO: POI bearbeiten funktioniert es nicht +- [x] TODO: POI bearbeiten funktioniert es nicht - [ ] TODO: Linien Links noch mit Port 3000 +- [ ] TODO: Checkliste für README.md vorbereiten diff --git a/components/pois/poiUpdateModal/PoiUpdateModal.js b/components/pois/poiUpdateModal/PoiUpdateModal.js index 42cb21798..934928094 100644 --- a/components/pois/poiUpdateModal/PoiUpdateModal.js +++ b/components/pois/poiUpdateModal/PoiUpdateModal.js @@ -8,7 +8,6 @@ import { selectMapLayersState } from "@/redux/slices/mapLayersSlice"; import { selectPoiTypData, selectPoiTypStatus } from "@/redux/slices/database/pois/poiTypSlice"; import { deletePoiThunk } from "@/redux/thunks/database/pois/deletePoiThunk"; import { updatePoiThunk } from "@/redux/thunks/database/pois/updatePoiThunk"; -import { selectSelectedPoi } from "@/redux/slices/database/pois/selectedPoiSlice"; import { handleSubmit } from "@/components/pois/poiUpdateModal/utils/handlers"; import { selectCurrentPoi } from "@/redux/slices/database/pois/currentPoiSlice"; import { selectGisStationsStaticDistrict } from "@/redux/slices/webservice/gisStationsStaticDistrictSlice"; @@ -56,17 +55,6 @@ const PoiUpdateModal = ({ onClose, poiData }) => { } }, [dispatch, poiTypStatus]); - /* useEffect(() => { - console.log("devices in PoiUpdateModal:", devices); - if (poi && devices.length > 0) { - const selectedDevice = devices.find(device => Number(device.idLD) === Number(poi.idLD)); - console.log("Selected Device:", selectedDevice); - if (selectedDevice) { - setDeviceName({ value: selectedDevice.idLD, label: selectedDevice.name }); - } - } - }, [poi, devices]); */ - useEffect(() => { console.log("poiTypData in PoiUpdateModal:", poiTypData); if (poi && poiTypData.length > 0) { @@ -80,13 +68,13 @@ const PoiUpdateModal = ({ onClose, poiData }) => { useEffect(() => { console.log("availableDevices in PoiUpdateModal:", availableDevices); - if (poiData && availableDevices.length > 0) { - const selectedDevice = availableDevices.find(device => device.idLD === poiData.idLD); + if (poi && availableDevices.length > 0) { + const selectedDevice = availableDevices.find(device => device.IdLD === poi.idLD); if (selectedDevice) { - setDeviceName({ value: selectedDevice.idLD, label: selectedDevice.LD_Name }); // ✅ auch hier korrigieren + setDeviceName({ value: selectedDevice.IdLD, label: selectedDevice.LD_Name }); } } - }, [poiData, availableDevices]); + }, [poi, availableDevices]); const filterDevices = () => { const activeSystems = Object.keys(mapLayersVisibility).filter( @@ -106,7 +94,7 @@ const PoiUpdateModal = ({ onClose, poiData }) => { : []; const deviceOptions = availableDevices.map(device => ({ - value: device.idLD, + value: device.IdLD, label: device.LD_Name, })); @@ -153,7 +141,22 @@ const PoiUpdateModal = ({ onClose, poiData }) => { /> -