addresses: enable POSTing Postal Code entities (back + front)

This commit is contained in:
nobohan
2021-06-11 14:33:22 +02:00
parent 5daf5cbe84
commit 1b709d39a4
13 changed files with 247 additions and 39 deletions

View File

@@ -106,6 +106,7 @@ export default {
},
address: {
writeNewAddress: false,
writeNewPostalCode: false,
loaded: {
countries: [],
cities: [],
@@ -116,6 +117,10 @@ export default {
city: {},
address: {},
},
newPostalCode: {
code: null,
name: null
},
addressMap: {
center : [48.8589, 2.3469], // Note: LeafletJs demands [lat, lon] cfr https://macwright.com/lonlat/
zoom: 12
@@ -211,6 +216,8 @@ export default {
this.address.distribution = null;
this.address.extra = null;
this.address.writeNewAddress = false;
this.address.writeNewPostalCode = false;
this.address.newPostalCode = {};
console.log('cities and addresses', this.address.loaded.cities, this.address.loaded.addresses);
}
}

View File

@@ -15,7 +15,7 @@
:options="addresses">
</VueMultiselect>
</div>
<div v-if="writeNewAddress">
<div v-if="writeNewAddress || writeNewPostalCode">
<input
type="text"
name="street"
@@ -45,6 +45,9 @@ export default {
writeNewAddress() {
return this.address.writeNewAddress;
},
writeNewPostalCode() {
return this.address.writeNewPostalCode;
},
addresses() {
return this.address.loaded.addresses;
},

View File

@@ -8,9 +8,25 @@
label="value"
:custom-label="transName"
:placeholder="$t('select_city')"
:taggable="true"
:multiple="false"
@tag="addPostalCode"
:tagPlaceholder="$t('create_postal_code')"
:options="cities">
</VueMultiselect>
</div>
<div v-if="writeNewPostalCode">
<input
type="text"
name="name"
:placeholder="$t('postalCode_name')"
v-model="name"/>
<input
type="text"
name="code"
:placeholder="$t('postalCode_code')"
v-model="code"/>
</div>
</template>
<script>
@@ -25,6 +41,30 @@ export default {
value: null
}
},
computed: {
writeNewPostalCode() {
return this.address.writeNewPostalCode;
},
cities() {
return this.address.loaded.cities;
},
name: {
set(value) {
this.address.newPostalCode.name = value;
},
get() {
return this.address.newPostalCode.name;
}
},
code: {
set(value) {
this.address.newPostalCode.code= value;
},
get() {
return this.address.newPostalCode.code;
}
},
},
methods: {
transName(value) {
return `${value.code}-${value.name}`
@@ -33,10 +73,8 @@ export default {
this.address.selected.city = value;
this.getReferenceAddresses(value);
},
},
computed: {
cities() {
return this.address.loaded.cities;
addPostalCode() {
this.address.writeNewPostalCode = true;
}
}
};

View File

@@ -28,7 +28,7 @@ export default {
methods: {
init() {
if (this.value !== undefined) {
this.getCities(this.value);
this.selectCountry(this.value);
}
},
transName ({ name }) {