allow to remove / update address in household member editor

This commit is contained in:
Julien Fastré 2021-09-29 13:57:36 +02:00
parent 0e54b8cdf0
commit 0ec095b59a
3 changed files with 38 additions and 62 deletions

View File

@ -94,7 +94,7 @@
</template>
<template v-else>
<household-render-box :household="household" :isAddressMultiline="true"></household-render-box>
<ul v-if="!hasHouseholdAddress" class="record_actions">
<ul class="record_actions">
<li>
<add-address
:context="getAddressContext"
@ -103,6 +103,12 @@
:addressChangedCallback="addressChanged"
></add-address>
</li>
<li v-if="hasHouseholdAddress">
<button class="btn btn-remove"
@click="removeHouseholdAddress">
{{ $t('household_members_editor.household.remove_address') }}
</button>
</li>
</ul>
</template>
</div>
@ -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;
}
}
}
*/
</style>

View File

@ -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: {

View File

@ -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) {