From 5cad5df44a0c2f287c1aca126034563ed93cfa20 Mon Sep 17 00:00:00 2001 From: isa Date: Wed, 22 May 2024 22:49:38 +0200 Subject: [PATCH] =?UTF-8?q?idLD=20update=20done!=20muss=20noch=20Ger=C3=A4?= =?UTF-8?q?t=20und=20Typ=20gelesen=20von=20POI=20ins=20dropdown=20menu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/PoiUpdateModal.js | 121 ++++++++++++++++++----------------- 1 file changed, 63 insertions(+), 58 deletions(-) diff --git a/components/PoiUpdateModal.js b/components/PoiUpdateModal.js index dc47eaa65..4124a86e5 100644 --- a/components/PoiUpdateModal.js +++ b/components/PoiUpdateModal.js @@ -41,6 +41,8 @@ const PoiUpdateModal = ({ onClose, poiData }) => { } }; + + // Beim Öffnen des Modals die Geräte-ID basierend auf dem Gerätenamen abrufen, wenn vorhanden useEffect(() => { const fetchDeviceId = async () => { @@ -122,60 +124,66 @@ const PoiUpdateModal = ({ onClose, poiData }) => { }, []); // Angenommen, deviceName enthält die Geräte-ID -const idLD = deviceName; // Stellen Sie sicher, dass dies eine ID ist und kein Name + const idLD = deviceName; // Stellen Sie sicher, dass dies eine ID ist und kein Name -const handleSubmit = async (event) => { - event.preventDefault(); - try { - const response = await fetch("/api/updatePoi", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - idPoi: poiId, - name: name, - description: description, - idPoiTyp: poiTypeId, - idLD: parseInt(deviceName, 10), // Konvertieren in eine Ganzzahl - }), - }); + const handleSubmit = async (event) => { + event.preventDefault(); + const idLDResponse = await fetch( + `/api/getDeviceId?deviceName=${encodeURIComponent(deviceName)}` + ); + const idLDData = await idLDResponse.json(); + const idLD = idLDData.idLD; + try { + const response = await fetch("/api/updatePoi", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + idPoi: poiId, + name: name, + description: description, + idPoiTyp: poiTypeId, + idLD: idLD, + //idLD: parseInt(deviceName, 10), // Konvertieren in eine Ganzzahl + }), + }); - if (response.ok) { - onClose(); - window.location.reload(); - } else { - const errorResponse = await response.json(); - throw new Error( - errorResponse.error || "Fehler beim Aktualisieren des POI." - ); + if (response.ok) { + onClose(); + window.location.reload(); + } else { + const errorResponse = await response.json(); + throw new Error( + errorResponse.error || "Fehler beim Aktualisieren des POI." + ); + } + } catch (error) { + console.error("Fehler beim Aktualisieren des POI:", error); + alert("Fehler beim Aktualisieren des POI."); } - } catch (error) { - console.error("Fehler beim Aktualisieren des POI:", error); - alert("Fehler beim Aktualisieren des POI."); - } -}; + }; + - return (
- - setDescription(e.target.value)} - placeholder="Beschreibung der Station" - className="block p-2 w-full border-2 border-gray-200 rounded-md text-sm" - /> + + setDescription(e.target.value)} + placeholder="Beschreibung der Station" + className="block p-2 w-full border-2 border-gray-200 rounded-md text-sm" + />
@@ -183,21 +191,18 @@ const handleSubmit = async (event) => { Gerät: - - - + id="deviceName" + name="deviceName" + value={deviceName} + onChange={(e) => setDeviceName(e.target.value)} + className="block p-2 w-full border-2 border-gray-200 rounded-md text-sm" + > + {locationDeviceData.map((device, index) => ( + + ))} +