From d2cab3ff8186548ea52e67fab4ca1b98a1476327 Mon Sep 17 00:00:00 2001 From: "alexander.kerscher" Date: Tue, 11 Jun 2024 11:49:07 +0200 Subject: [PATCH] remove MessstelleInfoDto --- frontend/src/api/service/MessstelleService.ts | 7 -- .../messstelle/MessfaehigkeitForm.vue | 6 +- .../components/messstelle/MessstelleInfo.vue | 5 +- .../messstelle/UpdateMessstelleForm.vue | 64 ++++++++----------- .../src/domain/dto/ZaehlstelleKarteDTO.ts | 2 +- ...higkeitDTO.ts => MessfaehigkeitEditDTO.ts} | 2 +- .../dto/messstelle/MessstelleEditDTO.ts | 4 +- .../dto/messstelle/MessstelleInfoDTO.ts | 9 --- frontend/src/util/DefaultObjectCreator.ts | 5 -- frontend/src/views/MessstelleView.vue | 17 +++-- 10 files changed, 47 insertions(+), 74 deletions(-) rename frontend/src/domain/dto/messstelle/{MessfaehigkeitDTO.ts => MessfaehigkeitEditDTO.ts} (67%) delete mode 100644 frontend/src/domain/dto/messstelle/MessstelleInfoDTO.ts diff --git a/frontend/src/api/service/MessstelleService.ts b/frontend/src/api/service/MessstelleService.ts index a110a68..6a49a1e 100644 --- a/frontend/src/api/service/MessstelleService.ts +++ b/frontend/src/api/service/MessstelleService.ts @@ -1,18 +1,11 @@ import MessstelleEditDTO from "@/domain/dto/messstelle/MessstelleEditDTO"; import FetchService from "@/api/service/FetchService"; import BackendIdDTO from "@/domain/dto/bearbeiten/BackendIdDTO"; -import MessstelleInfoDTO from "@/domain/dto/messstelle/MessstelleInfoDTO"; import MessstelleOverviewDTO from "@/domain/dto/messstelle/MessstelleOverviewDTO"; export default class MessstelleService { private static readonly ENDPOINT: string = "api/dave-backend-service/messstelle"; - static getMessstelleInfo(id: string): Promise { - return FetchService.getData( - `${this.ENDPOINT}/info?id=${id}`, - "Beim Laden der Messstellen-Info ist ein Fehler aufgetreten." - ); - } static getMessstelleToEdit(id: string): Promise { return FetchService.getData( diff --git a/frontend/src/components/messstelle/MessfaehigkeitForm.vue b/frontend/src/components/messstelle/MessfaehigkeitForm.vue index 77659df..a3d1695 100644 --- a/frontend/src/components/messstelle/MessfaehigkeitForm.vue +++ b/frontend/src/components/messstelle/MessfaehigkeitForm.vue @@ -25,13 +25,13 @@ - diff --git a/frontend/src/components/messstelle/UpdateMessstelleForm.vue b/frontend/src/components/messstelle/UpdateMessstelleForm.vue index dcdfe6f..1ed7a1b 100644 --- a/frontend/src/components/messstelle/UpdateMessstelleForm.vue +++ b/frontend/src/components/messstelle/UpdateMessstelleForm.vue @@ -64,7 +64,7 @@ = ref(0); const validMst: Ref = ref(false); const validMqs: Ref> = ref(new Map()); -const messstelle: Ref = ref( - DefaultObjectCreator.createDefaultMessstelleEditDTO() -); const resetMarker: Ref = ref(false); interface Props { + value: MessstelleEditDTO; height: string; contentHeight: number; } @@ -148,11 +144,20 @@ interface Props { const props = defineProps(); const store = useStore(); -const route = useRoute(); const vuetify = useVuetify(); +const emits = defineEmits<{ + (e: "input", v: MessstelleEditDTO): void; + (e: "reload"): void; +}>(); + +const messstelleToEdit = computed({ + get: () => props.value, + set: (payload: MessstelleEditDTO) => emits("input", payload), +}); + const isMessstelleReadonly: ComputedRef = computed(() => { - return messstelle.value.status === MessstelleStatus.IN_PLANUNG; + return messstelleToEdit.value.status === MessstelleStatus.IN_PLANUNG; }); const contentHeightVh: ComputedRef = computed(() => { return props.contentHeight - 70 / (vuetify.breakpoint.height / 100) + "vh"; @@ -162,19 +167,13 @@ const mapHeightVh: ComputedRef = computed(() => { return props.contentHeight - 105 / (vuetify.breakpoint.height / 100) + "vh"; }); -const emit = defineEmits<(e: "reload") => void>(); - -onMounted(() => { - loadMessstelle(); -}); - function save(): void { if (areAllFormsValid()) { - MessstelleService.saveMessstelle(messstelle.value) + MessstelleService.saveMessstelle(messstelleToEdit.value) .then(() => { store.dispatch("snackbar/showToast", { level: Levels.INFO, - snackbarTextPart1: `Die Messstelle ${messstelle.value.mstId} wurde erfolgreich aktualisiert.`, + snackbarTextPart1: `Die Messstelle ${messstelleToEdit.value.mstId} wurde erfolgreich aktualisiert.`, }); }) .catch((error: ApiError) => { @@ -182,28 +181,21 @@ function save(): void { }) .finally(() => { activeTab.value = 0; - emit("reload"); + emits("reload"); }); } } function cancel(): void { - loadMessstelle(); - emit("reload"); + emits("reload"); } -function loadMessstelle(): void { - const messstelleId = route.params.messstelleId; - MessstelleService.getMessstelleToEdit(messstelleId).then( - (messstelleById) => { - messstelle.value = messstelleById; - messstelleById.messquerschnitte.forEach((value) => - validMqs.value.set(value.mqId, !!value.standort) - ); - resetMarker.value = !resetMarker.value; - } +watch(messstelleToEdit, () => { + messstelleToEdit.value.messquerschnitte.forEach((value) => + validMqs.value.set(value.mqId, !!value.standort) ); -} + resetMarker.value = !resetMarker.value; +}); function areAllFormsValid(): boolean { const invalidMqs: Array = []; @@ -216,7 +208,7 @@ function areAllFormsValid(): boolean { if (!areAllFormsValid) { let errorText = "Der Standort"; if (!validMst.value) { - errorText = `${errorText} der Messstelle ${messstelle.value.mstId}`; + errorText = `${errorText} der Messstelle ${messstelleToEdit.value.mstId}`; if (invalidMqs.length > 0) { errorText = `${errorText} und`; } @@ -236,4 +228,4 @@ function areAllFormsValid(): boolean { } return areAllFormsValid; } - \ No newline at end of file + diff --git a/frontend/src/domain/dto/ZaehlstelleKarteDTO.ts b/frontend/src/domain/dto/ZaehlstelleKarteDTO.ts index 679d784..3fd6c3c 100644 --- a/frontend/src/domain/dto/ZaehlstelleKarteDTO.ts +++ b/frontend/src/domain/dto/ZaehlstelleKarteDTO.ts @@ -4,4 +4,4 @@ import TooltipZaehlstelleDTO from "@/domain/dto/TooltipZaehlstelleDTO"; export default interface ZaehlstelleKarteDTO extends AnzeigeKarteDTO { letzteZaehlungId: string; tooltip: TooltipZaehlstelleDTO; -} \ No newline at end of file +} diff --git a/frontend/src/domain/dto/messstelle/MessfaehigkeitDTO.ts b/frontend/src/domain/dto/messstelle/MessfaehigkeitEditDTO.ts similarity index 67% rename from frontend/src/domain/dto/messstelle/MessfaehigkeitDTO.ts rename to frontend/src/domain/dto/messstelle/MessfaehigkeitEditDTO.ts index 1bf29b8..04af780 100644 --- a/frontend/src/domain/dto/messstelle/MessfaehigkeitDTO.ts +++ b/frontend/src/domain/dto/messstelle/MessfaehigkeitEditDTO.ts @@ -1,4 +1,4 @@ -export default interface MessfaehigkeitDTO { +export default interface MessfaehigkeitEditDTO { gueltigAb: string; gueltigBis: string; intervall: string; diff --git a/frontend/src/domain/dto/messstelle/MessstelleEditDTO.ts b/frontend/src/domain/dto/messstelle/MessstelleEditDTO.ts index 1d6533f..1c27212 100644 --- a/frontend/src/domain/dto/messstelle/MessstelleEditDTO.ts +++ b/frontend/src/domain/dto/messstelle/MessstelleEditDTO.ts @@ -1,7 +1,7 @@ import BaseEntity from "@/domain/BaseEntity"; import MessquerschnittEditDTO from "@/domain/dto/messstelle/MessquerschnittEditDTO"; import { MessstelleStatus } from "@/domain/enums/MessstelleStatus"; -import MessfaehigkeitDTO from "@/domain/dto/messstelle/MessfaehigkeitDTO"; +import MessfaehigkeitEditDTO from "@/domain/dto/messstelle/MessfaehigkeitEditDTO"; export default interface MessstelleEditDTO extends BaseEntity { mstId: string; @@ -26,5 +26,5 @@ export default interface MessstelleEditDTO extends BaseEntity { sichtbarDatenportal: boolean; messquerschnitte: Array; - messfaehigkeiten: Array; + messfaehigkeiten: Array; } diff --git a/frontend/src/domain/dto/messstelle/MessstelleInfoDTO.ts b/frontend/src/domain/dto/messstelle/MessstelleInfoDTO.ts deleted file mode 100644 index cfc7154..0000000 --- a/frontend/src/domain/dto/messstelle/MessstelleInfoDTO.ts +++ /dev/null @@ -1,9 +0,0 @@ -import BaseEntity from "@/domain/BaseEntity"; - -export default interface MessstelleInfoDTO extends BaseEntity { - mstId: string; - stadtbezirk: string; - stadtbezirkNummer: string; - latitude: number; - longitude: number; -} diff --git a/frontend/src/util/DefaultObjectCreator.ts b/frontend/src/util/DefaultObjectCreator.ts index 049d60a..32fd8c4 100644 --- a/frontend/src/util/DefaultObjectCreator.ts +++ b/frontend/src/util/DefaultObjectCreator.ts @@ -9,7 +9,6 @@ import HochrechnungsfaktorDTO from "@/domain/dto/HochrechnungsfaktorDTO"; import DienstleisterDTO from "@/domain/dto/DienstleisterDTO"; import EmailAddressDTO from "@/domain/dto/EmailAddressDTO"; import MessstelleEditDTO from "@/domain/dto/messstelle/MessstelleEditDTO"; -import MessstelleInfoDTO from "@/domain/dto/messstelle/MessstelleInfoDTO"; import { MessstelleStatus } from "@/domain/enums/MessstelleStatus"; export default class DefaultObjectCreator { @@ -63,10 +62,6 @@ export default class DefaultObjectCreator { return messstelle; } - public static createDefaultMessstelleInfoDTO(): MessstelleInfoDTO { - return {} as MessstelleInfoDTO; - } - public static createDefaultHochrechnungsfaktor(): HochrechnungsfaktorDTO { const faktor: HochrechnungsfaktorDTO = {} as HochrechnungsfaktorDTO; faktor.matrix = ""; diff --git a/frontend/src/views/MessstelleView.vue b/frontend/src/views/MessstelleView.vue index c90fd7e..0617b8c 100644 --- a/frontend/src/views/MessstelleView.vue +++ b/frontend/src/views/MessstelleView.vue @@ -41,6 +41,7 @@ no-gutters > = ref(false); -const messstelle: Ref = ref( - DefaultObjectCreator.createDefaultMessstelleInfoDTO() +const messstelle: Ref = ref( + DefaultObjectCreator.createDefaultMessstelleEditDTO() ); const vuetify = useVuetify(); const route = useRoute(); @@ -135,9 +136,11 @@ const latlng: ComputedRef = computed(() => { function loadMessstelle(): void { const messstelleId = route.params.messstelleId; - MessstelleService.getMessstelleInfo(messstelleId).then((messstelleById) => { - messstelle.value = messstelleById; - reloadMessstelleMap.value = !reloadMessstelleMap.value; - }); + MessstelleService.getMessstelleToEdit(messstelleId).then( + (messstelleById) => { + messstelle.value = messstelleById; + reloadMessstelleMap.value = !reloadMessstelleMap.value; + } + ); }