Skip to content
Snippets Groups Projects
Commit 76c4cd48 authored by Timothee P's avatar Timothee P :sunflower:
Browse files

fix error not updated in project_mapping_basemap for title & fix prop mutated

parent 2d3cd041
No related branches found
No related tags found
2 merge requests!295Version 3.0.0,!237REDMINE_ISSUE-12721
......@@ -6,7 +6,7 @@
<label for="field.name">{{ field.label }}</label>
<input
:id="field.name"
v-model="field.value"
:value="field.value"
type="text"
:name="field.name"
@blur="updateStore_extra_form"
......@@ -33,7 +33,7 @@
<!-- //* si click sur fléche dans champ input, pas de focus, donc pas de blur, donc utilisation de @change -->
<input
:id="field.name"
v-model.number="field.value"
:value="field.value"
type="number"
:name="field.name"
@change="updateStore_extra_form"
......@@ -62,7 +62,7 @@
<label for="field.name">{{ field.label }}</label>
<input
:id="field.name"
v-model="field.value"
:value="field.value"
type="date"
:name="field.name"
@blur="updateStore_extra_form"
......@@ -76,7 +76,7 @@
<div class="ui input">
<input
:id="field.name"
v-model.number="field.value"
:value="field.value"
type="number"
step=".01"
:name="field.name"
......@@ -90,7 +90,7 @@
>
<label :for="field.name">{{ field.label }}</label>
<textarea
v-model="field.value"
:value="field.value"
:name="field.name"
rows="3"
@blur="updateStore_extra_form"
......
......@@ -277,6 +277,8 @@
</template>
<script>
/* eslint-disable */
import { mapState, mapGetters } from 'vuex';
export default {
......
<template>
<!-- eslint-disable -->
<div
:id="layer.dataKey"
class="ui segment layer-item"
......
......@@ -2,8 +2,10 @@
<div class="ui segment">
<div class="field required">
<label for="basemap-title">Titre</label>
<!-- eslint-disable -->
<input
v-model="basemap.title"
:value="basemap.title"
@input="updateTitle"
type="text"
name="basemap-title"
required
......@@ -66,6 +68,8 @@
</template>
<script>
/* eslint-disable */
import Sortable from 'sortablejs';
import ProjectMappingContextLayer from '@/components/project/ProjectMappingContextLayer.vue';
......@@ -95,21 +99,6 @@ export default {
},
},
watch: {
'basemap.title': {
deep: true,
handler: function (newValue, oldValue) {
if (newValue !== oldValue) {
this.basemap.title = newValue;
if (newValue === '')
this.basemap.errors = 'Veuillez compléter ce champ.';
else this.basemap.errors = '';
this.updateTitle(this.basemap);
}
},
},
},
created() {
if (this.basemap.layers) {
//* add datakeys to layers coming from api
......@@ -144,11 +133,18 @@ export default {
},
updateTitle(evt) {
let errors = '';
if(evt.target.value === '') { //* delete or add error message while typing
errors = "Veuillez compléter ce champ.";
}
this.$store.commit('map/UPDATE_BASEMAP', {
id: this.basemap.id,
title: evt.title,
errors: evt.errors,
title: evt.target.value,
errors,
});
},
removeLayer(dataKey) {
......
......@@ -40,15 +40,11 @@ const map = {
UPDATE_BASEMAP(state, { title, id, layers, errors }) {
const index = state.basemaps.findIndex((el) => el.id === id);
if (index !== -1) {
if (title) {
state.basemaps[index].title = title;
}
state.basemaps[index].title = title;
state.basemaps[index].errors = errors;
if (layers) {
state.basemaps[index].layers = layers;
}
if (errors) {
state.basemaps[index].errors = errors;
}
}
},
DELETE_BASEMAP(state, basemapId) {
......
......@@ -102,7 +102,7 @@ export default {
checkTitles() {
let isValid = true;
this.basemaps.forEach((basemap) => {
if (basemap.title === null || basemap.title === '') {
if (basemap.title === null || basemap.title === '') { //* check title when saving basemaps
basemap.errors = 'Veuillez compléter ce champ.';
isValid = false;
} else if (basemap.layers.length === 0) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment