diff --git a/app/src/components/CreateTransectItem.ts b/app/src/components/CreateTransectItem.ts index cd206ac5ccc72d0940ad286ea32bf41e210bea95..687710959cc6b1890874957ac931dc9e9793bbed 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 e9394d190e50b7243e8a72a2dce9fc4c14f022c6..e229c2504f391737f54c3a4cc5b4e98268dd2153 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 975ce7d370b906b966d1f57e0a528db7de944d17..b8dedb7cd546a5df2a9e4961c4c6b1999967d1f4 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 4e3c8f6e97cab7c00d5154d1e616bc31b54f3ad3..f7bdfbc3ffec4748b46501bbc1bec7a97d9fa2c9 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 2ceae2c4c8583ca23fc9f72bb7fe404c234e37e5..3d360d8bb356c760a66fc9903879fa11cdc0c425 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": {