From 1f3157f44e27eb566e73ac7e336c574adb7367d8 Mon Sep 17 00:00:00 2001 From: Chris Steinmann <steinmann@infai.org> Date: Wed, 21 Jul 2021 15:41:05 +0200 Subject: [PATCH] #223 Transekt wird korrekt persistiert --- app/src/components/CreateTransectItem.ts | 15 +++++++++++++- app/src/components/CreateTransectItem.vue | 11 +++++++++++ app/src/helper/transect.service.ts | 24 +++++++++++++++++++++++ app/src/i18n/deutsch.json | 1 + app/src/i18n/english.json | 1 + 5 files changed, 51 insertions(+), 1 deletion(-) diff --git a/app/src/components/CreateTransectItem.ts b/app/src/components/CreateTransectItem.ts index cd206ac5c..687710959 100644 --- a/app/src/components/CreateTransectItem.ts +++ b/app/src/components/CreateTransectItem.ts @@ -1,4 +1,5 @@ import {Component, Vue} from "vue-property-decorator"; +import { TransectService } from "@/helper/transect.service"; @Component({ components: {}, @@ -44,8 +45,20 @@ export default class CreateTransectItem extends Vue { return new Promise((resolve) => setTimeout(resolve, millis)); } + private async createTransect() { + const response = await TransectService.getInstance().createNewTransect( + this.transectCode, this.transectName, this.transectComment, this.transectIcc2); + if (response.errors) { + this.showErrorAlert(response.errors[0]); + return response; + } else { + this.showSuccessAlert(); + this.delay(2000).then(() => this.redirectToTransectManagement()); + } + } + private save() { - console.log("save transect"); + this.createTransect(); } private cancel() { diff --git a/app/src/components/CreateTransectItem.vue b/app/src/components/CreateTransectItem.vue index e9394d190..e229c2504 100644 --- a/app/src/components/CreateTransectItem.vue +++ b/app/src/components/CreateTransectItem.vue @@ -35,6 +35,17 @@ data-testid="saveTransect">{{$t("basic.save")}}</v-btn> </v-row> </v-container> + <v-container class="justify-center" fluid> + <div class="text-center"> + <v-progress-circular v-show="showLoading" color="primary" indeterminate/> + </div> + <v-alert v-show="showConfirmationAlert" transition="fade-transition" type="success" dismissible> + {{ $t("transectManagement.created") }} + </v-alert> + <v-alert v-show="showFailAlert" dismissible transition="fade-transition" type="error"> + {{ errorMessage }} + </v-alert> + </v-container> </v-card-text> </v-card> </v-col> diff --git a/app/src/helper/transect.service.ts b/app/src/helper/transect.service.ts index 975ce7d37..b8dedb7cd 100644 --- a/app/src/helper/transect.service.ts +++ b/app/src/helper/transect.service.ts @@ -198,6 +198,30 @@ export class TransectService { return await ApiService.getInstance().postQuery(query); } + /** + * Creates a transect with the given params + * + * @param transectCode + * @param name + * @param comment + * @param icc2 + */ + public createNewTransect = async (transectCode: string, name: string, comment: string, icc2: string) => { + const query = `mutation { + createTransect( + input: { + transectCode: "${transectCode}", + name: "${name}", + comment: "${comment}", + icc2: "${icc2}", + } + ) { + transect {id} + } + }`; + return await ApiService.getInstance().postQuery(query); + } + /** * Creates a transect with the given params * diff --git a/app/src/i18n/deutsch.json b/app/src/i18n/deutsch.json index 4e3c8f6e9..f7bdfbc3f 100644 --- a/app/src/i18n/deutsch.json +++ b/app/src/i18n/deutsch.json @@ -287,6 +287,7 @@ "transectCompilation": "Transektzusammenstellung", "edit": "Editieren", "create": "Transekt erstellen", + "created": "Transekt erstellt", "transectProfile": "Transektsteckbrief", "inactivation": "Inaktivierung", "tableHeader": { diff --git a/app/src/i18n/english.json b/app/src/i18n/english.json index 2ceae2c4c..3d360d8bb 100644 --- a/app/src/i18n/english.json +++ b/app/src/i18n/english.json @@ -287,6 +287,7 @@ "transectCompilation": "Transect compilation", "edit": "Edit", "create": "Create transect", + "created": "Transect created", "transectProfile": "Transect profile", "inactivation": "Inactivation", "tableHeader": { -- GitLab