From ca86eb3c56d2de1119cba5f4f2d5c1d4046b28b4 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Wed, 22 Sep 2021 20:31:37 +0200 Subject: [PATCH 1/8] disable datePane with courseLocation --- .../vuejs/AccompanyingCourse/components/CourseLocation.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/CourseLocation.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/CourseLocation.vue index cf1218eae..b39ef943f 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/CourseLocation.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/CourseLocation.vue @@ -90,9 +90,9 @@ export default { /// Display each step in page or Modal openPanesInModal: true, // Use Date fields - useDate: { - validFrom: true - }, + //useDate: { + // validFrom: true + //}, hideAddress: true } } From 3ee0f4bf20e9651f7dd50aecd91abbc2abf078d6 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Wed, 22 Sep 2021 16:35:43 +0200 Subject: [PATCH 2/8] datePane, back to previous editPane --- .../public/vuejs/Address/components/AddAddress.vue | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue index a37cd4ee3..5a2cfc422 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue @@ -380,7 +380,9 @@ export default { console.log('displaySuggestions'); this.openSuggestPane(); } else { - this.initForm(); + if (this.flag.datePane === false) { + this.initForm(); // reset form except if we come back from datePane + } this.getCountries(); // will open editPane when resolve promise } }, @@ -456,11 +458,14 @@ export default { fetchCountries().then( countries => new Promise((resolve, reject) => { this.entity.loaded.countries = countries.results; + if (this.flag.showPane === true) { + this.closeShowPane(); + } if (this.flag.suggestPane === true) { this.closeSuggestPane(); } - if (this.flag.showPane === true) { - this.closeShowPane(); + if (this.flag.datePane === true) { + this.flag.datePane = false; } console.log('step2: open the Edit panel'); this.flag.editPane = true; From d99461298780c50357651199ff5784042f287e65 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Wed, 22 Sep 2021 16:37:45 +0200 Subject: [PATCH 3/8] change buttons apparence for datePane back to editPane --- .../vuejs/Address/components/AddAddress.vue | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue index 5a2cfc422..963101472 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue @@ -101,10 +101,8 @@ @@ -197,10 +195,16 @@ v-bind:insideModal="false" ref="dateAddress"> + From a8024ba38f9906cc1659972b583e08dedd614c04 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Wed, 22 Sep 2021 17:20:31 +0200 Subject: [PATCH 4/8] Address datePane: validTo date display and format --- .../vuejs/Address/components/AddAddress.vue | 4 +- .../vuejs/Address/components/DatePane.vue | 42 ++++++++++--------- .../Resources/views/Address/new.html.twig | 2 +- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue index 963101472..71c33ef84 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue @@ -280,7 +280,7 @@ export default { }, valid: { from: new Date(), - to: new Date() + to: null } }, addressMap: { @@ -609,8 +609,10 @@ export default { if (this.context.target.name === 'person') { // !!! maintain here ? postcodeBody = Object.assign(postcodeBody, {'origin': 3}); } + console.log('juste before post new postcode', postcodeBody); return postPostalCode(postcodeBody) .then(postalCode => { + console.log('new postcode created', postalCode.id); payload.postcode = {'id': postalCode.id }; return this.postNewAddress(payload); }); diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/DatePane.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/DatePane.vue index 87cb65549..d86144358 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/DatePane.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/DatePane.vue @@ -11,27 +11,29 @@ -
-

{{ $t(getValidFromDateText) }}

-
- - +
+
+

{{ $t(getValidFromDateText) }}

+
+ + +
-
-
-

{{ $t(getValidToDateText) }}

-
- - +
+

{{ $t(getValidToDateText) }}

+
+ + +
@@ -88,7 +90,7 @@ export default { this.entity.selected.valid.to = ISOToDate(value); }, get() { - return dateToISO(this.entity.selected.valid.from); + return dateToISO(this.entity.selected.valid.to); } }, getValidFromDateText() { diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig index da2bfe474..5f75a103a 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig @@ -30,11 +30,11 @@ {% include '@ChillMain/Address/_insert_vue_address.html.twig' with { targetEntity: { name: 'person', id: person.id }, stickyActions: true, + useValidFrom: true, useValidTo: true, } %} {# backUrl: path('chill_person_address_list', { 'person_id': person.id }), openPanesInModal: false, - useValidFrom: true, #} {% endblock %} From e7676c5c2ea6cd5e39e22c4fab8e953ac0f1fdd7 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Wed, 22 Sep 2021 17:21:22 +0200 Subject: [PATCH 5/8] display address renderbox on datePane (wip) --- .../Resources/public/vuejs/Address/components/DatePane.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/DatePane.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/DatePane.vue index d86144358..b14ac6ce8 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/DatePane.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/DatePane.vue @@ -9,7 +9,7 @@ {{ errorMsg }}
- +
From 1c568a75ecae4226e3bda67e1b45f2f55ce551ee Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Thu, 23 Sep 2021 11:04:25 +0200 Subject: [PATCH 6/8] Address: pass useDatePane option in showPane addressRenderBox, display dates in showPane --- .../vuejs/Address/components/AddAddress.vue | 6 +----- .../vuejs/Address/components/ShowPane.vue | 5 +++-- .../_components/Entity/AddressRenderBox.vue | 17 +++++++++++++++++ .../Serializer/Normalizer/AddressNormalizer.php | 3 +++ .../Resources/views/Address/new.html.twig | 3 ++- 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue index 71c33ef84..272a17bd9 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue @@ -7,6 +7,7 @@ v-bind:defaultz="this.defaultz" v-bind:entity="this.entity" v-bind:flag="this.flag" + v-bind:useDatePane="this.useDatePane" @openEditPane="openEditPane" ref="showAddress"> @@ -334,11 +335,6 @@ export default { }, mounted() { - //console.log('options displayText', this.options.button.displayText); - //console.log('options bindModal.step1', this.options.bindModal.step1); - //console.log('options bindModal.step2', this.options.bindModal.step2); - //console.log('options useDate.validFrom', this.options.useDate.validFrom); - //console.log('options useDate.validTo', this.options.useDate.validTo); console.log('useDatePane', this.useDatePane); console.log('Mounted now !'); diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowPane.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowPane.vue index 405ba0cc7..a4e5c571d 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowPane.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowPane.vue @@ -21,7 +21,7 @@

- +
+
+
+ + {{ $t('validFrom') }}: {{ $d(address.validFrom.date) }} + +
+
+ + {{ $t('validTo') }}: {{ $d(address.validTo.date) }} + +
+
+ @@ -67,6 +80,10 @@ export default { isMultiline: { default: true, type: Boolean + }, + useDatePane: { + default: false, + type: Boolean } }, computed: { diff --git a/src/Bundle/ChillMainBundle/Serializer/Normalizer/AddressNormalizer.php b/src/Bundle/ChillMainBundle/Serializer/Normalizer/AddressNormalizer.php index 9e3b5c11b..2b39c07c3 100644 --- a/src/Bundle/ChillMainBundle/Serializer/Normalizer/AddressNormalizer.php +++ b/src/Bundle/ChillMainBundle/Serializer/Normalizer/AddressNormalizer.php @@ -13,6 +13,7 @@ class AddressNormalizer implements NormalizerAwareInterface, NormalizerInterface public function normalize($address, string $format = null, array $context = []) { + /** @var Address $address */ $data['address_id'] = $address->getId(); $data['text'] = $address->isNoAddress() ? '' : $address->getStreetNumber().', '.$address->getStreet(); $data['street'] = $address->getStreet(); @@ -30,6 +31,8 @@ class AddressNormalizer implements NormalizerAwareInterface, NormalizerInterface $data['buildingName'] = $address->getBuildingName(); $data['distribution'] = $address->getDistribution(); $data['extra'] = $address->getExtra(); + $data['validFrom'] = $address->getValidFrom(); + $data['validTo'] = $address->getValidTo(); return $data; } diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig index 5f75a103a..c88959340 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig @@ -30,9 +30,10 @@ {% include '@ChillMain/Address/_insert_vue_address.html.twig' with { targetEntity: { name: 'person', id: person.id }, stickyActions: true, - useValidFrom: true, useValidTo: true, + useValidFrom: true, } %} {# + useValidTo: true, backUrl: path('chill_person_address_list', { 'person_id': person.id }), openPanesInModal: false, #} From 0808f5a6f3a1d6d2a6638824d98a085ae2e1045f Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Thu, 23 Sep 2021 11:44:22 +0200 Subject: [PATCH 7/8] Address datePane: convert selectedAddress to pass and view it with addressRenderBox --- .../public/chill/scss/render_box.scss | 3 ++ .../vuejs/Address/components/DatePane.vue | 31 ++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/chill/scss/render_box.scss b/src/Bundle/ChillMainBundle/Resources/public/chill/scss/render_box.scss index 31d2c8d09..6100bc842 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/chill/scss/render_box.scss +++ b/src/Bundle/ChillMainBundle/Resources/public/chill/scss/render_box.scss @@ -98,6 +98,9 @@ section.chill-entity { &.date-since {} &.date-until {} } + .address-more { + margin-bottom: 1em; + } } // used for comment-embeddable diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/DatePane.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/DatePane.vue index b14ac6ce8..69e4ccea6 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/DatePane.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/DatePane.vue @@ -9,7 +9,7 @@ {{ errorMsg }}
- +
@@ -104,6 +104,35 @@ export default { }, showDateTo() { return !this.context.edit && this.options.useDate.validTo; + }, + selectedAddress() { + let address = {}; + + address['country'] = (this.entity.selected.country) ? this.entity.selected.country : null; + address['postcode'] = (this.entity.selected.postcode) ? this.entity.selected.postcode : null; + + if (this.entity.selected.address) { + let number = (this.entity.selected.address.streetNumber) ? this.entity.selected.address.streetNumber : null; + let street = (this.entity.selected.address.street) ? this.entity.selected.address.street : null; + address['text'] = number + ', ' + street; + + address['street'] = (this.entity.selected.address.street) ? this.entity.selected.address.street : null; + address['streetNumber'] = (this.entity.selected.address.streetNumber) ? this.entity.selected.address.streetNumber : null; + address['floor'] = (this.entity.selected.address.floor) ? this.entity.selected.address.floor : null; + address['corridor'] = (this.entity.selected.address.corridor) ? this.entity.selected.address.corridor : null; + address['steps'] = (this.entity.selected.address.steps) ? this.entity.selected.address.steps : null; + address['flat'] = (this.entity.selected.address.flat) ? this.entity.selected.address.flat : null; + address['buildingName'] = (this.entity.selected.address.buildingName) ? this.entity.selected.address.buildingName : null; + address['distribution'] = (this.entity.selected.address.distribution) ? this.entity.selected.address.distribution : null; + address['extra'] = (this.entity.selected.address.extra) ? this.entity.selected.address.extra : null; + } + + if (this.entity.selected.valid) { + address['validFrom'] = (this.entity.selected.valid.from) ? dateToISO(this.entity.selected.valid.from) : null; + address['validTo'] = (this.entity.selected.valid.to) ? dateToISO(this.entity.selected.valid.to) : null; + } + + return address; } } } From efd9380d13057b8981b2c7fba069be3d0a01fd38 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Thu, 23 Sep 2021 12:32:05 +0200 Subject: [PATCH 8/8] Address use next/previous button if datePane and if context new --- .../Resources/public/vuejs/Address/components/AddAddress.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue index 272a17bd9..80668270f 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue @@ -103,7 +103,7 @@