mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-07-01 14:36:13 +00:00
add store postAddress fetch request
This commit is contained in:
parent
2aed37757e
commit
cb846891d6
@ -11,8 +11,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<add-address
|
<add-address
|
||||||
@addNewAddress="addNewAddress"
|
@addNewAddress="addNewAddress">
|
||||||
ref="addAddress">
|
|
||||||
</add-address>
|
</add-address>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -35,7 +34,6 @@ export default {
|
|||||||
addNewAddress({ address, modal }) {
|
addNewAddress({ address, modal }) {
|
||||||
console.log('@@@ CLICK button addNewAdress', address);
|
console.log('@@@ CLICK button addNewAdress', address);
|
||||||
this.$store.dispatch('addAddress', address.selected);
|
this.$store.dispatch('addAddress', address.selected);
|
||||||
//this.$refs.addAddress.resetAll(); // to cast child method
|
|
||||||
modal.showModal = false;
|
modal.showModal = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,16 @@
|
|||||||
import 'es6-promise/auto';
|
import 'es6-promise/auto';
|
||||||
import { createStore } from 'vuex';
|
import { createStore } from 'vuex';
|
||||||
|
|
||||||
|
// le fetch POST serait rangé dans la logique du composant qui appelle AddAddress
|
||||||
|
//import { postAddress } from '... api'
|
||||||
|
|
||||||
const debug = process.env.NODE_ENV !== 'production';
|
const debug = process.env.NODE_ENV !== 'production';
|
||||||
|
|
||||||
const store = createStore({
|
const store = createStore({
|
||||||
strict: debug,
|
strict: debug,
|
||||||
state: {
|
state: {
|
||||||
address: {}
|
address: {},
|
||||||
|
errorMsg: {}
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
},
|
},
|
||||||
@ -19,7 +23,19 @@ const store = createStore({
|
|||||||
actions: {
|
actions: {
|
||||||
addAddress({ commit }, payload) {
|
addAddress({ commit }, payload) {
|
||||||
console.log('@A addAddress payload', payload);
|
console.log('@A addAddress payload', payload);
|
||||||
commit('addAddress', payload);
|
commit('addAddress', payload); // à remplacer par
|
||||||
|
|
||||||
|
// fetch POST qui envoie l'adresse, et récupère la confirmation que c'est ok.
|
||||||
|
// La confirmation est l'adresse elle-même.
|
||||||
|
//
|
||||||
|
// postAddress(payload)
|
||||||
|
// .fetch(address => new Promise((resolve, reject) => {
|
||||||
|
// commit('addAddress', address);
|
||||||
|
// resolve();
|
||||||
|
// }))
|
||||||
|
// .catch((error) => {
|
||||||
|
// state.errorMsg.push(error.message);
|
||||||
|
// });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Endpoint countries GET
|
* Endpoint countries GET
|
||||||
|
* TODO
|
||||||
*/
|
*/
|
||||||
const fetchCountries = () => {
|
const fetchCountries = () => {
|
||||||
console.log('<<< fetching countries');
|
console.log('<<< fetching countries');
|
||||||
@ -10,9 +11,10 @@ const fetchCountries = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Endpoint cities GET
|
* Endpoint cities GET
|
||||||
|
* TODO
|
||||||
*/
|
*/
|
||||||
const fetchCities = (country) => {
|
const fetchCities = (country) => {
|
||||||
console.log('<<< fetching cities for', country);
|
console.log('<<< fetching cities for', country);
|
||||||
return [
|
return [
|
||||||
{id: 1, name: 'Bruxelles', code: '1000', country: 'BE'},
|
{id: 1, name: 'Bruxelles', code: '1000', country: 'BE'},
|
||||||
@ -27,7 +29,8 @@ const fetchCities = (country) => {
|
|||||||
* @returns {Promise} a promise containing all AddressReference object
|
* @returns {Promise} a promise containing all AddressReference object
|
||||||
*/
|
*/
|
||||||
const fetchReferenceAddresses = (city) => {
|
const fetchReferenceAddresses = (city) => {
|
||||||
console.log('<<< fetching references addresses for', 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`;
|
const url = `/api/1.0/main/address-reference.json`;
|
||||||
return fetch(url)
|
return fetch(url)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
|
@ -44,8 +44,14 @@
|
|||||||
v-bind:address="address"
|
v-bind:address="address"
|
||||||
ref="addressMap">
|
ref="addressMap">
|
||||||
</address-map>
|
</address-map>
|
||||||
|
|
||||||
|
<address-more
|
||||||
|
v-if="!isNoAddress"
|
||||||
|
v-bind:address="address">
|
||||||
|
</address-more>
|
||||||
|
|
||||||
<!--div class="address_form__fields__isNoAddress"></div>
|
<!--
|
||||||
|
<div class="address_form__fields__isNoAddress"></div>
|
||||||
<div class="address_form__select">
|
<div class="address_form__select">
|
||||||
<div class="address_form__select__header"></div>
|
<div class="address_form__select__header"></div>
|
||||||
<div class="address_form__select__left"></div>
|
<div class="address_form__select__left"></div>
|
||||||
@ -55,13 +61,20 @@
|
|||||||
<div class="address_form__fields__header"></div>
|
<div class="address_form__fields__header"></div>
|
||||||
<div class="address_form__fields__left"></div>
|
<div class="address_form__fields__left"></div>
|
||||||
<div class="address_form__fields__right"></div>
|
<div class="address_form__fields__right"></div>
|
||||||
</div-->
|
</div>
|
||||||
|
|
||||||
|
à discuter,
|
||||||
|
mais je pense qu'il est préférable de profiter de l'imbriquation des classes css
|
||||||
|
|
||||||
<address-more
|
div.address_form {
|
||||||
v-if="!isNoAddress"
|
div.select {
|
||||||
v-bind:address="address">
|
div.header {}
|
||||||
</address-more>
|
div.left {}
|
||||||
|
div.map {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-->
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-slot:footer>
|
<template v-slot:footer>
|
||||||
@ -156,28 +169,28 @@ export default {
|
|||||||
getCountries() {
|
getCountries() {
|
||||||
console.log('getCountries');
|
console.log('getCountries');
|
||||||
this.address.loaded.countries = fetchCountries(); // à remplacer par
|
this.address.loaded.countries = fetchCountries(); // à remplacer par
|
||||||
//fetchCountries().then(countries => new Promise((resolve, reject) => {
|
// fetchCountries().then(countries => new Promise((resolve, reject) => {
|
||||||
// this.address.loaded.countries = countries;
|
// this.address.loaded.countries = countries;
|
||||||
// resolve()
|
// resolve()
|
||||||
//}))
|
// }))
|
||||||
//.catch((error) => {
|
// .catch((error) => {
|
||||||
// this.errorMsg.push(error.message);
|
// this.errorMsg.push(error.message);
|
||||||
//});
|
// });
|
||||||
},
|
},
|
||||||
getCities(country) {
|
getCities(country) {
|
||||||
console.log('getCities for', country.name);
|
console.log('getCities for', country.name);
|
||||||
this.address.loaded.cities = fetchCities(); // à remplacer par
|
this.address.loaded.cities = fetchCities(); // à remplacer par
|
||||||
//fetchCities(country).then(cities => new Promise((resolve, reject) => {
|
// fetchCities(country).then(cities => new Promise((resolve, reject) => {
|
||||||
// this.address.loaded.cities = cities;
|
// this.address.loaded.cities = cities;
|
||||||
// resolve()
|
// resolve()
|
||||||
//}))
|
// }))
|
||||||
//.catch((error) => {
|
// .catch((error) => {
|
||||||
// this.errorMsg.push(error.message);
|
// this.errorMsg.push(error.message);
|
||||||
//});
|
// });
|
||||||
},
|
},
|
||||||
getReferenceAddresses(city) {
|
getReferenceAddresses(city) {
|
||||||
console.log('getReferenceAddresses for', city.name);
|
console.log('getReferenceAddresses for', city.name);
|
||||||
fetchReferenceAddresses(city)
|
fetchReferenceAddresses(city) // il me semble que le paramètre city va limiter le poids des adresses de références reçues
|
||||||
.then(addresses => new Promise((resolve, reject) => {
|
.then(addresses => new Promise((resolve, reject) => {
|
||||||
console.log('addresses', addresses);
|
console.log('addresses', addresses);
|
||||||
this.address.loaded.addresses = addresses.results;
|
this.address.loaded.addresses = addresses.results;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user