From d82371947d4d648f23a69e8fc53b3418d3b24e0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e?= <tpoussard@neogeo.fr> Date: Tue, 12 Jul 2022 16:06:59 +0200 Subject: [PATCH] add fast form for title --- .../Feature/Detail/FeatureHeader.vue | 38 +++++++++++++++++-- .../Feature/FeatureEditStatusField.vue | 9 ----- src/store/modules/feature.store.js | 6 ++- 3 files changed, 40 insertions(+), 13 deletions(-) diff --git a/src/components/Feature/Detail/FeatureHeader.vue b/src/components/Feature/Detail/FeatureHeader.vue index c4472199..a8c01877 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 27b4f30c..19661d36 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 ef76b951..cf961e8e 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); -- GitLab