Skip to content

Commit

Permalink
remove MessstelleInfoDto
Browse files Browse the repository at this point in the history
  • Loading branch information
Der-Alex-K committed Jun 11, 2024
1 parent 0d99b42 commit d2cab3f
Show file tree
Hide file tree
Showing 10 changed files with 47 additions and 74 deletions.
7 changes: 0 additions & 7 deletions frontend/src/api/service/MessstelleService.ts
Original file line number Diff line number Diff line change
@@ -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<MessstelleInfoDTO> {
return FetchService.getData(
`${this.ENDPOINT}/info?id=${id}`,
"Beim Laden der Messstellen-Info ist ein Fehler aufgetreten."
);
}

static getMessstelleToEdit(id: string): Promise<MessstelleEditDTO> {
return FetchService.getData(
Expand Down
6 changes: 3 additions & 3 deletions frontend/src/components/messstelle/MessfaehigkeitForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,21 @@
</template>

<script setup lang="ts">
import MessfaehigkeitDTO from "@/domain/dto/messstelle/MessfaehigkeitDTO";
import MessfaehigkeitEditDTO from "@/domain/dto/messstelle/MessfaehigkeitEditDTO";
import { computed, ComputedRef } from "vue";
import _ from "lodash";
interface Props {
height: string;
messfahigkeiten: Array<MessfaehigkeitDTO>;
messfahigkeiten: Array<MessfaehigkeitEditDTO>;
}
const props = defineProps<Props>();
const tableHeight: ComputedRef<string> = computed(() => {
return parseInt(props.height.replace("px", "")) - 136 + "px";
});
function activeMessfaehigkeit(item: MessfaehigkeitDTO) {
function activeMessfaehigkeit(item: MessfaehigkeitEditDTO) {
return _.isEmpty(item.gueltigBis) ? "light-green lighten-3" : "";
}
Expand Down
5 changes: 2 additions & 3 deletions frontend/src/components/messstelle/MessstelleInfo.vue
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
</v-sheet>
</template>
<script setup lang="ts">
import MessstelleInfoDTO from "@/domain/dto/messstelle/MessstelleInfoDTO";
import MessstelleEditDTO from "@/domain/dto/messstelle/MessstelleEditDTO";
interface Props {
messstelle: MessstelleInfoDTO;
messstelle: MessstelleEditDTO;
height: string;
minheight: string;
}
Expand All @@ -28,4 +28,3 @@ withDefaults(defineProps<Props>(), {
minheight: "160px",
});
</script>

64 changes: 28 additions & 36 deletions frontend/src/components/messstelle/UpdateMessstelleForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -64,29 +64,29 @@
<!-- Inhalte -->
<v-tab-item ref="messstelleform">
<messstelle-form
v-model="messstelle"
v-model="messstelleToEdit"
:valid.sync="validMst"
:height="contentHeightVh"
:disabled="isMessstelleReadonly"
/>
</v-tab-item>
<v-tab-item ref="messquerschnittform">
<messquerschnitt-form
v-model="messstelle"
v-model="messstelleToEdit"
:valid.sync="validMqs"
:height="contentHeightVh"
:disabled="isMessstelleReadonly"
/>
</v-tab-item>
<v-tab-item ref="messfaehigkeit">
<messfaehigkeit-form
:messfahigkeiten="messstelle.messfaehigkeiten"
:messfahigkeiten="messstelleToEdit.messfaehigkeiten"
:height="contentHeightVh"
/>
</v-tab-item>
<v-tab-item ref="standort">
<standort-tab-item
v-model="messstelle"
v-model="messstelleToEdit"
:height="contentHeightVh"
:height-map="mapHeightVh"
:reset-marker="resetMarker"
Expand Down Expand Up @@ -120,12 +120,10 @@
import MessstelleEditDTO from "@/domain/dto/messstelle/MessstelleEditDTO";
import MessstelleForm from "@/components/messstelle/MessstelleForm.vue";
import MessquerschnittForm from "@/components/messstelle/MessquerschnittForm.vue";
import { computed, ComputedRef, onMounted, ref, Ref } from "vue";
import { computed, ComputedRef, ref, Ref, watch } from "vue";
import MessstelleService from "@/api/service/MessstelleService";
import { ApiError, Levels } from "@/api/error";
import { useStore } from "@/util/useStore";
import { useRoute } from "vue-router/composables";
import DefaultObjectCreator from "@/util/DefaultObjectCreator";
import { MessstelleStatus } from "@/domain/enums/MessstelleStatus";
import LageplanForm from "@/components/messstelle/LageplanForm.vue";
import { useVuetify } from "@/util/useVuetify";
Expand All @@ -135,24 +133,31 @@ import MessfaehigkeitForm from "@/components/messstelle/MessfaehigkeitForm.vue";
const activeTab: Ref<number> = ref(0);
const validMst: Ref<boolean> = ref(false);
const validMqs: Ref<Map<string, boolean>> = ref(new Map<string, boolean>());
const messstelle: Ref<MessstelleEditDTO> = ref(
DefaultObjectCreator.createDefaultMessstelleEditDTO()
);
const resetMarker: Ref<boolean> = ref(false);
interface Props {
value: MessstelleEditDTO;
height: string;
contentHeight: number;
}
const props = defineProps<Props>();
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<boolean> = computed(() => {
return messstelle.value.status === MessstelleStatus.IN_PLANUNG;
return messstelleToEdit.value.status === MessstelleStatus.IN_PLANUNG;
});
const contentHeightVh: ComputedRef<string> = computed(() => {
return props.contentHeight - 70 / (vuetify.breakpoint.height / 100) + "vh";
Expand All @@ -162,48 +167,35 @@ const mapHeightVh: ComputedRef<string> = 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) => {
store.dispatch("snackbar/showError", error);
})
.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<string> = [];
Expand All @@ -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`;
}
Expand All @@ -236,4 +228,4 @@ function areAllFormsValid(): boolean {
}
return areAllFormsValid;
}
</script>
</script>
2 changes: 1 addition & 1 deletion frontend/src/domain/dto/ZaehlstelleKarteDTO.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ import TooltipZaehlstelleDTO from "@/domain/dto/TooltipZaehlstelleDTO";
export default interface ZaehlstelleKarteDTO extends AnzeigeKarteDTO {
letzteZaehlungId: string;
tooltip: TooltipZaehlstelleDTO;
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export default interface MessfaehigkeitDTO {
export default interface MessfaehigkeitEditDTO {
gueltigAb: string;
gueltigBis: string;
intervall: string;
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/domain/dto/messstelle/MessstelleEditDTO.ts
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -26,5 +26,5 @@ export default interface MessstelleEditDTO extends BaseEntity {
sichtbarDatenportal: boolean;

messquerschnitte: Array<MessquerschnittEditDTO>;
messfaehigkeiten: Array<MessfaehigkeitDTO>;
messfaehigkeiten: Array<MessfaehigkeitEditDTO>;
}
9 changes: 0 additions & 9 deletions frontend/src/domain/dto/messstelle/MessstelleInfoDTO.ts

This file was deleted.

5 changes: 0 additions & 5 deletions frontend/src/util/DefaultObjectCreator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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 = "";
Expand Down
17 changes: 10 additions & 7 deletions frontend/src/views/MessstelleView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
no-gutters
>
<update-messstelle-form
v-model="messstelle"
:height="heightVh"
:content-height="contentHeight"
@reload="loadMessstelle"
Expand All @@ -56,12 +57,12 @@ import { useRoute } from "vue-router/composables";
import MessstelleInfo from "@/components/messstelle/MessstelleInfo.vue";
import { useVuetify } from "@/util/useVuetify";
import DefaultObjectCreator from "@/util/DefaultObjectCreator";
import MessstelleInfoDTO from "@/domain/dto/messstelle/MessstelleInfoDTO";
import UpdateMessstelleForm from "@/components/messstelle/UpdateMessstelleForm.vue";
import MessstelleEditDTO from "@/domain/dto/messstelle/MessstelleEditDTO";
const reloadMessstelleMap: Ref<boolean> = ref(false);
const messstelle: Ref<MessstelleInfoDTO> = ref(
DefaultObjectCreator.createDefaultMessstelleInfoDTO()
const messstelle: Ref<MessstelleEditDTO> = ref(
DefaultObjectCreator.createDefaultMessstelleEditDTO()
);
const vuetify = useVuetify();
const route = useRoute();
Expand Down Expand Up @@ -135,9 +136,11 @@ const latlng: ComputedRef<string[]> = 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;
}
);
}
</script>

0 comments on commit d2cab3f

Please sign in to comment.