From 0ec095b59a62b456da3685700cd9c09b2001ff44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Wed, 29 Sep 2021 13:57:36 +0200 Subject: [PATCH] allow to remove / update address in household member editor --- .../components/Household.vue | 64 ++++--------------- .../vuejs/HouseholdMembersEditor/js/i18n.js | 5 ++ .../HouseholdMembersEditor/store/index.js | 31 ++++++--- 3 files changed, 38 insertions(+), 62 deletions(-) diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdMembersEditor/components/Household.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdMembersEditor/components/Household.vue index 5bb7fdb04..98f5b0e45 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdMembersEditor/components/Household.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdMembersEditor/components/Household.vue @@ -94,7 +94,7 @@ @@ -134,37 +140,26 @@ export default { data() { return { addAddress: { - /* - context: { - target: { - name: 'household_create', - id: 0 - }, - edit: false, - addressId: null - }, - - */ key: 'household_new', options: { useDate: { - validFrom: false, - validTo: false, + validFrom: false, + validTo: false, }, hideAddress: true, button: { text: { create: 'household_members_editor.household.set_address', - edit: null, + edit: 'household_members_editor.household.update_address', } }, title: { create: 'household_members_editor.household.create_new_address', - edit: null, + edit: 'household_members_editor.household.update_address_title', }, } } - } + }; }, computed: { ...mapGetters([ @@ -213,17 +208,6 @@ export default { selectHousehold(h) { this.$store.dispatch('selectHousehold', h); }, - - - setHouseholdAddress(a) { - let payload = this.$refs.addAddress.submitNewAddress(); - console.log('setHouseholdAddress', a); - this.$store.commit('setHouseholdAddress', a); - }, - setHouseholdCreatedAddress(payload) { - console.log('setHouseholdAddress', payload); - this.$store.dispatch('setHouseholdNewAddress', payload); - }, removeHouseholdAddress() { this.$store.commit('removeHouseholdAddress'); }, @@ -248,28 +232,4 @@ div.householdSuggestionList { } } } - -/* -div.householdAddressSuggestionList { - display: flex; - list-style-type: none; - padding: 0; - & > li {} -} -.householdSuggestionList { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; - & > .item { - margin-bottom: 0.8rem; - width: calc(50% - 1rem); - border: 1px solid var(--chill-light-gray); - padding: 0.5rem 0.5rem 0 0.5rem; - ul.record_actions { - margin-bottom: 0; - } - } -} -*/ diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdMembersEditor/js/i18n.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdMembersEditor/js/i18n.js index 40201af77..c2d1d3dc3 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdMembersEditor/js/i18n.js +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdMembersEditor/js/i18n.js @@ -15,13 +15,18 @@ const appMessages = { leave_without_household: "Sans nouveau ménage", set_address: "Indiquer une adresse", reset_mode: "Modifier la destination", + remove_address: "Supprimer l'adresse", + update_address: "Mettre à jour l'adresse", // remove ? + /* where_live_the_household: "À quelle adresse habite ce ménage ?", household_live_to_this_address: "Sélectionner l'adresse", no_suggestions: "Aucune adresse à suggérer", delete_this_address: "Supprimer cette adresse", create_new_address: "Créer une nouvelle adresse", or_create_new_address: "Ou créer une nouvelle adresse", + + */ // end remove ? }, concerned: { diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdMembersEditor/store/index.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdMembersEditor/store/index.js index 9e1e047ea..5f45e31eb 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdMembersEditor/store/index.js +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdMembersEditor/store/index.js @@ -93,16 +93,27 @@ const store = createStore({ */ }, - getAddressContext(state) { - return { - edit: false, - addressId: null, - target: { - name: state.household.type, - id: state.household.id - }, - suggestions: state.addressesSuggestion - }; + getAddressContext(state, getters) { + if (!getters.hasHouseholdAddress) { + return { + edit: false, + addressId: null, + target: { + name: state.household.type, + id: state.household.id + }, + suggestions: state.addressesSuggestion + }; + } else { + return { + edit: true, + addressId: state.household.current_address.id, + target: { + name: state.household.type, + id: state.household.id + }, + }; + } }, hasHouseholdAddress(state) { if (null === state.household) {