Files
nodeMap/components/pois/poiUpdateModal/utils/handlers.js
ISA 0a97c359d8 feat: POI-Erstellung, -Bearbeitung und -Löschung vollständig überarbeitet
- POI-Tooltip zeigt jetzt den korrekten Gerätenamen aus Redux (gisStationsStaticDistrict)
- Bearbeitungsmodal (PoiUpdateModal) verwendet Redux-Daten (idLD → Gerätelabel) zur Initialisierung
- Fix: Geräte-Dropdown im Modal zeigt nun den ausgewählten POI korrekt an
- Refactor: `handleUpdatePoi()` nutzt `description` statt `name`
- Fehlerbehandlung im Modal verbessert (alert bei leerem Feld, besseres Logging)
- Redux-Thunk `updatePoiThunk` + `updatePoiService` stabilisiert
- Map aktualisiert POIs nach Bearbeitung automatisch

📦 Version erhöht auf 1.1.253
🗓️ 11.06.2025
2025-06-11 07:41:10 +02:00

48 lines
1.3 KiB
JavaScript

// @/components/pois/poiUpdateModal/utils/handlers.js
import { updatePoiThunk } from "@/redux/thunks/database/pois/updatePoiThunk";
import { deletePoiThunk } from "@/redux/thunks/database/pois/deletePoiThunk";
export const handleSubmit = async ({
event,
dispatch,
poiId,
description,
poiTypeId,
deviceName,
poi,
onClose,
}) => {
event.preventDefault();
const payload = {
idPoi: poiId,
name: description, // 💡 <- Das ist die entscheidende Änderung!
description,
idPoiTyp: poiTypeId?.value ?? poi?.idPoiTyp,
idLD: deviceName?.value,
};
console.log("🔍 POI Update Payload:", payload);
try {
await dispatch(updatePoiThunk(payload)).unwrap();
onClose();
window.location.reload();
} catch (error) {
console.error("Fehler beim Aktualisieren des POI:", error);
alert("Fehler beim Aktualisieren des POI.");
}
};
export const handleDeletePoi = async ({ dispatch, poiId, onClose }) => {
if (confirm("Sind Sie sicher, dass Sie diesen POI löschen möchten?")) {
try {
await dispatch(deletePoiThunk(poiId)).unwrap();
onClose();
window.location.reload();
} catch (error) {
console.error("Fehler beim Löschen des POI:", error);
alert("Fehler beim Löschen des POI.");
}
}
};