fix countrySelection multiselect with fetch async countries

edit context: display country for existing address
new context: repair editPane, load countries

note: adding id for country and postcode in address endpoint json
This commit is contained in:
Mathieu Jaumotte 2021-09-20 13:27:03 +02:00
parent 3f3dd83132
commit e13b7bf195
3 changed files with 10 additions and 5 deletions

View File

@ -381,10 +381,12 @@ export default {
if (this.flag.suggestPane === true) {
this.closeSuggestPane();
}
this.initForm();
this.getCountries();
this.flag.editPane = true;
if (this.flag.showPane === true) {
this.closeShowPane();
}
console.log('step2: open the Edit panel');
this.initForm();
this.getCountries(); // will open edit pane when resolve promise
}
},
closeEditPane() {
@ -456,10 +458,11 @@ export default {
getCountries() {
this.flag.loading = true;
console.log('## GO');
fetchCountries().then(
countries => new Promise((resolve, reject) => {
this.entity.loaded.countries = countries.results;
this.flag.showPane = false;
console.log('## COMPLETE !');
this.flag.editPane = true;
this.flag.loading = false;
resolve()

View File

@ -17,8 +17,10 @@ class AddressNormalizer implements NormalizerAwareInterface, NormalizerInterface
$data['text'] = $address->isNoAddress() ? '' : $address->getStreetNumber().', '.$address->getStreet();
$data['street'] = $address->getStreet();
$data['streetNumber'] = $address->getStreetNumber();
$data['postcode']['id'] = $address->getPostCode()->getId();
$data['postcode']['name'] = $address->getPostCode()->getName();
$data['postcode']['code'] = $address->getPostCode()->getCode();
$data['country']['id'] = $address->getPostCode()->getCountry()->getId();
$data['country']['name'] = $address->getPostCode()->getCountry()->getName();
$data['country']['code'] = $address->getPostCode()->getCountry()->getCountryCode();
$data['floor'] = $address->getFloor();

View File

@ -30,10 +30,10 @@
{% include '@ChillMain/Address/_insert_vue_address.html.twig' with {
targetEntity: { name: 'person', id: person.id },
backUrl: path('chill_person_address_list', { 'person_id': person.id }),
openPanesInModal: false,
stickyActions: true,
} %}
{#
openPanesInModal: false,
useValidFrom: true,
#}