From 962dbdc461ed13877635e48576089ac0a8422d94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Poussard?= <tpoussard@neogeo.fr> Date: Thu, 23 Sep 2021 12:13:58 +0200 Subject: [PATCH] fix default value on dropdown at feature creation --- src/views/feature/Feature_edit.vue | 63 ++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 17 deletions(-) diff --git a/src/views/feature/Feature_edit.vue b/src/views/feature/Feature_edit.vue index 0ef149be..f3eeb428 100644 --- a/src/views/feature/Feature_edit.vue +++ b/src/views/feature/Feature_edit.vue @@ -30,7 +30,11 @@ v-model="form.title.value" @blur="updateStore" /> - {{ form.title.errors }} + <ul id="errorlist" class="errorlist"> + <li v-for="error in form.title.errors" :key="error"> + {{ error }} + </li> + </ul> </div> <div class="required field"> <label :for="form.status.id_for_label">{{ @@ -41,8 +45,11 @@ :selected="selected_status.name" :selection.sync="selected_status" /> - - {{ form.status.errors }} + <ul id="errorlist" class="errorlist"> + <li v-for="error in form.status.errors" :key="error"> + {{ error }} + </li> + </ul> </div> </div> <div class="field"> @@ -289,7 +296,10 @@ export default { id_for_label: "status", html_name: "status", label: "Statut", - value: "Brouillon", + value: { + value: "draft", + name: "Brouillon", + }, }, description: { errors: null, @@ -329,10 +339,12 @@ export default { selected_status: { get() { + console.log(this.form.status.value); return this.form.status.value; }, set(newValue) { this.form.status.value = newValue; + console.log(this.form.status.value); this.updateStore(); }, }, @@ -355,15 +367,15 @@ export default { methods: { initForm() { if (this.currentRouteName === "editer-signalement") { - for (let el in this.feature) { - if (el && this.form[el]) { - if (el === "status") { - const value = this.feature[el]; - this.form[el].value = this.statusChoices.find( - (el) => el.value === value + for (let key in this.feature) { + if (key && this.form[key]) { + if (key === "status") { + const value = this.feature[key]; + this.form[key].value = this.statusChoices.find( + (key) => key.value === value ); } else { - this.form[el].value = this.feature[el]; + this.form[key].value = this.feature[key]; } } } @@ -472,13 +484,29 @@ export default { }); }, - postForm() { + checkForms() { if (this.form.title.value) { - this.form.title.errors = null; - this.$store.dispatch("feature/SEND_FEATURE", this.currentRouteName); - } else { - this.form.title.errors = "Veuillez compléter ce champ."; + this.form.title.errors = []; + return this.checkCustomForms(); //* if customForms are ok, validate, if get out function + } else if ( + !this.form.title.errors.includes("Veuillez compléter ce champ.") // TODO : Gérer les autres champs + ) { + this.form.title.errors.push("Veuillez compléter ce champ."); + document + .getElementById("errorlist") + .scrollIntoView({ block: "end", inline: "nearest" }); } + return false; + }, + + postForm() { + if (!this.checkForms()) return; + this.$store.dispatch("feature/SEND_FEATURE", this.currentRouteName); + // if (this.form.title.value) { + // this.form.title.errors = null; + // } else { + // this.form.title.errors = "Veuillez compléter ce champ."; + // } }, onFeatureTypeLoaded() { @@ -766,7 +794,8 @@ export default { featureAPI .getFeatureAttachments(this.$route.params.slug_signal) .then((data) => this.addExistingAttachementFormset(data)); - } else { //* be sure that previous attachemntFormset has been cleared for creation + } else { + //* be sure that previous attachemntFormset has been cleared for creation this.$store.commit("feature/CLEAR_ATTACHMENT_FORM"); } }, -- GitLab