prepare AccompanyingCourse Location sub-component to use Address

This commit is contained in:
Mathieu Jaumotte 2021-08-07 15:39:28 +02:00
parent ca4d542604
commit fae196d3eb
2 changed files with 58 additions and 69 deletions

View File

@ -9,7 +9,7 @@
<origin-demand></origin-demand>
<requestor></requestor>
<social-issue></social-issue>
<!--course-location></course-location-->
<course-location></course-location>
<referrer></referrer>
<resources></resources>
<comment v-if="accompanyingCourse.step === 'DRAFT'"></comment>
@ -25,7 +25,7 @@ import OriginDemand from './components/OriginDemand.vue';
import PersonsAssociated from './components/PersonsAssociated.vue';
import Requestor from './components/Requestor.vue';
import SocialIssue from './components/SocialIssue.vue';
//import CourseLocation from './components/CourseLocation.vue';
import CourseLocation from './components/CourseLocation.vue';
import Referrer from './components/Referrer.vue';
import Resources from './components/Resources.vue';
import Comment from './components/Comment.vue';
@ -40,7 +40,7 @@ export default {
PersonsAssociated,
Requestor,
SocialIssue,
//CourseLocation,
CourseLocation,
Referrer,
Resources,
Comment,

View File

@ -6,17 +6,32 @@
<div class="my-4">
<!-- {# include vue_address component #} -->
<show-address
v-if="address"
v-bind:address="address">
</show-address>
<div v-for="error in displayErrors" class="alert alert-danger my-2">
{{ error }}
</div>
<div v-if="addAddress.options.displayResult && addAddress.result !== null"
class="chill-entity entity-address">
<div class="address multiline">
<p class="street">{{ addAddress.result.street }}
<span class="streetnumber">{{ addAddress.result.streetNumber }}</span>
</p>
<p class="postcode">
<span class="code">{{ addAddress.result.postcode.code }}</span>
<span class="name">{{ addAddress.result.postcode.name }}</span>
</p>
<p class="country">{{ addAddress.result.country.name.fr }}</p>
</div>
</div>
<ul class="record_actions">
<li>
<add-address
modalAddTitle="courselocation.add_temp_address"
modalEditTitle="courselocation.edit_temp_address"
@addNewAddress="addTemporaryAddress">
v-bind:key="addAddress.type"
v-bind:context="context"
v-bind:options="addAddress.options"
v-bind:result="addAddress.result"
ref="addAddress">
</add-address>
</li>
</ul>
@ -27,76 +42,50 @@
<script>
import AddAddress from 'ChillMainAssets/vuejs/Address/components/AddAddress.vue';
import ShowAddress from 'ChillMainAssets/vuejs/Address/components/ShowAddress.vue';
export default {
name: "CourseLocation",
components: {
AddAddress,
ShowAddress
AddAddress
},
data() {
return {
/*
address: {},
errors: {},
loading: false,
success: false
*/
context: {
edit: true, //dynamic //window.mode === 'edit',
personId: null, //window.personId,
addressId: null, //window.addressId,
backUrl: null //window.backUrl,
},
addAddress: {
options: {
/// Options override default.
/// null value take default component value
button: {
text: { create: null, edit: null },
type: null,
size: null,
//display: false
},
/// Modal title text if create or edit address (trans chain, see i18n)
title: { create: null, edit: null },
/// Display each step in page or Modal
bindModal: {
//step1: false, step2: false
},
// Options only for root parent component
displayResult: true,
redirectToBackUrl: false
},
type: 'courseLocation',
result: null // <== returned from addAddress component
}
}
},
methods: {
addTemporaryAddress({ address, modal }) {
console.log('@@@ CLICK button addTemporaryAdress', address);
/*
let newAddress = {
'isNoAddress': address.isNoAddress,
'street': address.isNoAddress ? '' : address.street,
'streetNumber': address.isNoAddress ? '' : address.streetNumber,
'postcode': {'id': address.selected.city.id},
'floor': address.floor,
'corridor': address.corridor,
'steps': address.steps,
'flat': address.flat,
'buildingName': address.buildingName,
'distribution': address.distribution,
'extra': address.extra
};
if (address.selected.address.point !== undefined){
newAddress = Object.assign(newAddress, {
'point': address.selected.address.point.coordinates
});
}
if (address.writeNewPostalCode){
let newPostalCode = address.newPostalCode;
newPostalCode = Object.assign(newPostalCode, {
'country': {'id': address.selected.country.id },
});
newAddress = Object.assign(newAddress, {
'newPostalCode': newPostalCode
});
}
console.log('===> ', this.addressId, newAddress);
if (this.edit){
this.$store.dispatch('updateAddress', {
addressId: this.addressId,
newAddress: newAddress
});
} else {
this.$store.dispatch('addAddress', newAddress);
}
*/
modal.showModal = false;
displayErrors() {
return this.$refs.addAddress.errorMsg;
}
}
}
</script>
<style lang="scss" scoped>
</style>