From 813da1f9e022bbd73c383b005180a99b3cbd3ed5 Mon Sep 17 00:00:00 2001 From: nobohan Date: Mon, 13 Sep 2021 13:43:39 +0200 Subject: [PATCH] rdv: reset calendar after all promises are done --- .../public/vuejs/MyCalendarRange/App.vue | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/MyCalendarRange/App.vue b/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/MyCalendarRange/App.vue index 329f8a0f6..a30dd2000 100644 --- a/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/MyCalendarRange/App.vue +++ b/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/MyCalendarRange/App.vue @@ -47,11 +47,6 @@ -
-

{{ $t('copy_range_how_to')}}

- -
-

{{ $t('new_range_to_save') }}

@@ -334,7 +329,7 @@ export default { onClickSave(payload) { this.flag.loading = true; if (this.$store.state.newCalendarRanges.length > 0){ - this.$store.state.newCalendarRanges.map(cr => { + Promise.all(this.$store.state.newCalendarRanges.map(cr => { postCalendarRange({ user: { type: 'user', @@ -346,12 +341,14 @@ export default { endDate: { datetime: `${cr.end.toISOString().split('.')[0]}+0000`, // TODO check if OK with time zone }, - }).then((_r) => this.resetCalendar()); - }); + }) + }) + ).then((_r) => this.resetCalendar()); + this.$store.dispatch('clearNewCalendarRanges', payload); } if (this.$store.state.updateCalendarRanges.length > 0){ - this.$store.state.updateCalendarRanges.map(cr => { + Promise.all(this.$store.state.updateCalendarRanges.map(cr => { patchCalendarRange(cr.id, { startDate: { @@ -360,14 +357,16 @@ export default { endDate: { datetime: `${cr.end.toISOString().split('.')[0]}+0000`, // TODO check if OK with time zone }, - }).then((_r) => this.resetCalendar()); - }) + }) + }) + ).then((_r) => this.resetCalendar()); this.$store.dispatch('clearUpdateCalendarRanges', payload); } if (this.$store.state.deleteCalendarRanges.length > 0){ - this.$store.state.deleteCalendarRanges.map(cr => { - deleteCalendarRange(cr.id).then((_r) => this.resetCalendar());; - }) + Promise.all(this.$store.state.deleteCalendarRanges.map(cr => { + deleteCalendarRange(cr.id) + }) + ).then((_r) => this.resetCalendar()); this.$store.dispatch('clearDeleteCalendarRanges', payload); }