From 0afcf3d79e6cde2e3ff91cff528372e12a870cd4 Mon Sep 17 00:00:00 2001 From: nobohan Date: Wed, 12 May 2021 11:52:05 +0200 Subject: [PATCH 01/37] address selection: move marker on the leaflet map on update map --- .../public/vuejs/_components/AddAddress/AddressMap.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddAddress/AddressMap.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddAddress/AddressMap.vue index 5b616819d..2528f8e23 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddAddress/AddressMap.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddAddress/AddressMap.vue @@ -11,6 +11,7 @@ import markerIconPng from 'leaflet/dist/images/marker-icon.png' import 'leaflet/dist/leaflet.css'; let map; +let marker; export default { name: 'AddressMap', @@ -32,11 +33,12 @@ export default { iconUrl: markerIconPng, }); - L.marker([48.8589, 2.3469], {icon: markerIcon}).addTo(map); + marker = L.marker([48.8589, 2.3469], {icon: markerIcon}).addTo(map); }, update() { console.log('update map with : ', this.address.addressMap.center) + marker.setLatLng(this.address.addressMap.center); map.setView(this.address.addressMap.center, 12); } }, From fee37b5af3b51e4f68a07a3973b74aee17cad943 Mon Sep 17 00:00:00 2001 From: nobohan Date: Wed, 12 May 2021 12:21:19 +0200 Subject: [PATCH 02/37] address selection: use API points for Country and PostalCode + remove obsolet Address Controller --- .../Controller/AddressController.php | 63 ---------------- .../Resources/public/vuejs/_api/AddAddress.js | 32 ++++---- .../public/vuejs/_components/AddAddress.vue | 74 +++++++++---------- .../AddAddress/CountrySelection.vue | 16 ++-- 4 files changed, 63 insertions(+), 122 deletions(-) delete mode 100644 src/Bundle/ChillMainBundle/Controller/AddressController.php diff --git a/src/Bundle/ChillMainBundle/Controller/AddressController.php b/src/Bundle/ChillMainBundle/Controller/AddressController.php deleted file mode 100644 index 1aeb39062..000000000 --- a/src/Bundle/ChillMainBundle/Controller/AddressController.php +++ /dev/null @@ -1,63 +0,0 @@ -json($address); - default: - throw new BadRequestException('Unsupported format'); - } - } - - - /** - * Get API Data for showing endpoint - * - * @Route( - * "/{_locale}/main/api/1.0/address-reference/{address_reference_id}/show.{_format}", - * name="chill_main_address_reference_api_show" - * ) - * @ParamConverter("addressReference", options={"id": "address_reference_id"}) - */ - public function showAddressReference(AddressReference $addressReference, $_format): Response - { - // TODO check ACL ? - switch ($_format) { - case 'json': - return $this->json($addressReference); - default: - throw new BadRequestException('Unsupported format'); - } - - } -} diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_api/AddAddress.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_api/AddAddress.js index 4de0fcc19..2e80572b7 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_api/AddAddress.js +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_api/AddAddress.js @@ -1,26 +1,32 @@ /* * Endpoint countries GET -* TODO +* method GET, get Country Object +* @returns {Promise} a promise containing all Country object */ const fetchCountries = () => { console.log('<<< fetching countries'); - return [ - {id: 1, name: 'France', countryCode: 'FR'}, - {id: 2, name: 'Belgium', countryCode: 'BE'} - ]; + + const url = `/api/1.0/main/country.json`; + return fetch(url) + .then(response => { + if (response.ok) { return response.json(); } + throw Error('Error with request resource response'); + }); }; /* -* Endpoint cities GET +* Endpoint cities GET * TODO */ -const fetchCities = (country) => { +const fetchCities = (country) => { console.log('<<< fetching cities for', country); - return [ - {id: 1, name: 'Bruxelles', code: '1000', country: 'BE'}, - {id: 2, name: 'Aisne', code: '85045', country: 'FR'}, - {id: 3, name: 'Saint-Gervais', code: '85230', country: 'FR'} - ]; + //TODO use country + const url = `/api/1.0/main/postal-code.json`; + return fetch(url) + .then(response => { + if (response.ok) { return response.json(); } + throw Error('Error with request resource response'); + }); }; /* @@ -30,7 +36,7 @@ const fetchCities = (country) => { */ const fetchReferenceAddresses = (city) => { console.log('<<< fetching references addresses for', city); // city n'est pas utilisé pour le moment - + const url = `/api/1.0/main/address-reference.json`; return fetch(url) .then(response => { diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddAddress.vue index 55cf2f098..f304f3c45 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddAddress.vue @@ -13,14 +13,14 @@ + + + + diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/PersonsAssociated/PersonItem.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/PersonsAssociated/PersonItem.vue index 840edf595..85ed43bce 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/PersonsAssociated/PersonItem.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/PersonsAssociated/PersonItem.vue @@ -13,16 +13,18 @@