diff --git a/src/components/Feature/Detail/FeatureHeader.vue b/src/components/Feature/Detail/FeatureHeader.vue index c4472199f25175a9ac4a1a647d7c44b2f6af1d02..a8c01877b029ea4fa1470270f2781487053731cf 100644 --- a/src/components/Feature/Detail/FeatureHeader.vue +++ b/src/components/Feature/Detail/FeatureHeader.vue @@ -2,7 +2,24 @@ <div> <h1 class="ui header"> <div class="content"> - {{ currentFeature.title || currentFeature.feature_id }} + <span + v-if="fastEditionMode && form" + class="form ui half-block" + > + <input + id="feature_detail_title_input" + :value="form.title" + type="text" + required + maxlength="128" + name="title" + @blur="updateStore" + > + </span> + <span v-else> + {{ currentFeature.title || currentFeature.feature_id }} + </span> + <div class="ui icon right floated compact buttons"> <router-link v-if="displayToListButton" @@ -140,6 +157,7 @@ import { mapState, mapGetters } from 'vuex'; + export default { name: 'FeatureHeader', @@ -174,9 +192,9 @@ export default { 'isOnline', ]), ...mapState('feature', [ - 'currentFeature' + 'currentFeature', + 'form', ]), - ...mapGetters([ 'permissions', ]), @@ -220,9 +238,14 @@ export default { } }); }, + saveFastEdition() { this.$store.dispatch('feature/SEND_FEATURE', this.$route.name) .then(() => console.log('sent')); + }, + + updateStore(e) { + this.$store.commit('feature/UPDATE_FORM_FIELD', { name: 'title', value: e.target.value }); } } }; @@ -236,4 +259,13 @@ export default { line-height: 0; margin-right: 5px; } +.half-block { + display: inline-block; + width: 50%; +} +#feature_detail_title_input { + font-weight: bold; + font-size: 2em; + padding: .25em; +} </style> \ No newline at end of file diff --git a/src/components/Feature/FeatureEditStatusField.vue b/src/components/Feature/FeatureEditStatusField.vue index 27b4f30c9ddcda2ed7c97c48bb7ff8c600c8fe83..19661d365b4baf2ff404f4d9707aa18448e216f8 100644 --- a/src/components/Feature/FeatureEditStatusField.vue +++ b/src/components/Feature/FeatureEditStatusField.vue @@ -64,14 +64,5 @@ export default { return []; }, }, - - mounted() { - console.log('selectedStatus', this.selectedStatus); - - }, - - methods: { - } - }; </script> \ No newline at end of file diff --git a/src/store/modules/feature.store.js b/src/store/modules/feature.store.js index ef76b951201ccacfb31fef6ab3075018625a2750..cf961e8e4b7208955a4ce4f553bf14af212a71d2 100644 --- a/src/store/modules/feature.store.js +++ b/src/store/modules/feature.store.js @@ -40,7 +40,11 @@ const feature = { }; }, UPDATE_FORM_FIELD(state, field) { - state.form[field.name].value = field.value; + if (state.form[field.name].value) { + state.form[field.name].value = field.value; + } else { + state.form[field.name] = field.value; + } }, UPDATE_EXTRA_FORM(state, extra_form) { const index = state.extra_forms.findIndex(el => el.label === extra_form.label);