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

View File

@ -6,17 +6,32 @@
<div class="my-4"> <div class="my-4">
<!-- {# include vue_address component #} --> <!-- {# include vue_address component #} -->
<show-address <div v-for="error in displayErrors" class="alert alert-danger my-2">
v-if="address" {{ error }}
v-bind:address="address"> </div>
</show-address>
<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"> <ul class="record_actions">
<li> <li>
<add-address <add-address
modalAddTitle="courselocation.add_temp_address" v-bind:key="addAddress.type"
modalEditTitle="courselocation.edit_temp_address" v-bind:context="context"
@addNewAddress="addTemporaryAddress"> v-bind:options="addAddress.options"
v-bind:result="addAddress.result"
ref="addAddress">
</add-address> </add-address>
</li> </li>
</ul> </ul>
@ -27,76 +42,50 @@
<script> <script>
import AddAddress from 'ChillMainAssets/vuejs/Address/components/AddAddress.vue'; import AddAddress from 'ChillMainAssets/vuejs/Address/components/AddAddress.vue';
import ShowAddress from 'ChillMainAssets/vuejs/Address/components/ShowAddress.vue';
export default { export default {
name: "CourseLocation", name: "CourseLocation",
components: { components: {
AddAddress, AddAddress
ShowAddress
}, },
data() { data() {
return { return {
/* context: {
address: {}, edit: true, //dynamic //window.mode === 'edit',
errors: {}, personId: null, //window.personId,
loading: false, addressId: null, //window.addressId,
success: false 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: { methods: {
addTemporaryAddress({ address, modal }) { displayErrors() {
console.log('@@@ CLICK button addTemporaryAdress', address); return this.$refs.addAddress.errorMsg;
/*
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;
} }
} }
} }
</script> </script>
<style lang="scss" scoped>
</style>