From f4999548ac236d5304d1a5b5df4e8b4a81d2a9c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Wed, 29 Sep 2021 12:48:18 +0200 Subject: [PATCH] handle suggestion in addAddress component --- .../Resources/public/vuejs/Address/api.js | 33 +++++++++--- .../vuejs/Address/components/AddAddress.vue | 52 +++++++++++++++++-- .../vuejs/Address/components/SuggestPane.vue | 18 ++++--- .../components/Household.vue | 3 +- .../HouseholdMembersEditor/store/index.js | 6 +++ 5 files changed, 95 insertions(+), 17 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/api.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/api.js index 14fa0490f..62065b3ad 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/api.js +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/api.js @@ -1,4 +1,4 @@ -/* +/** * Endpoint chill_api_single_country__index * method GET, get Country Object * @returns {Promise} a promise containing all Country object @@ -14,7 +14,7 @@ const fetchCountries = () => { }); }; -/* +/** * Endpoint chill_api_single_postal_code__index * method GET, get Country Object * @returns {Promise} a promise containing all Postal Code objects filtered with country @@ -29,7 +29,7 @@ const fetchCities = (country) => { }); }; -/* +/** * Endpoint chill_api_single_address_reference__index * method GET, get AddressReference Object * @returns {Promise} a promise containing all AddressReference objects filtered with postal code @@ -44,7 +44,7 @@ const fetchReferenceAddresses = (postalCode) => { }); }; -/* +/** * Endpoint chill_api_single_address_reference__index * method GET, get AddressReference Object * @returns {Promise} a promise containing all AddressReference objects filtered with postal code @@ -60,7 +60,7 @@ const fetchAddresses = () => { }); }; -/* +/** * Endpoint chill_api_single_address__entity__create * method POST, post Address Object * @returns {Promise} @@ -81,8 +81,28 @@ const postAddress = (address) => { }); }; +/** + * + * @param address + * @returns {Promise} + */ +const duplicateAddress = (address) => { + const url = `/api/1.0/main/address/${address.address_id}/duplicate.json`; + return fetch(url, { + 'method': 'POST', + headers: { + 'Content-Type': 'application/json;charset=utf-8' + }, + }).then(response => { + if (response.ok) { + return response.json(); + } + throw Error('Error with request resource response'); + }); +}; -/* + +/** * Endpoint chill_api_single_address__entity__create * method PATCH, patch Address Instance * @@ -142,6 +162,7 @@ const getAddress = (id) => { }; export { + duplicateAddress, fetchCountries, fetchCities, fetchReferenceAddresses, diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue index 38afeae80..265b45d70 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue @@ -34,6 +34,7 @@ v-bind:defaultz="this.defaultz" v-bind:entity="this.entity" v-bind:flag="this.flag" + @pick-address="this.pickAddress" ref="suggestAddress"> @@ -55,6 +56,7 @@ v-bind:entity="this.entity" v-bind:flag="this.flag" v-bind:insideModal="false" + @pick-address="this.pickAddress" ref="suggestAddress">