diff --git a/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/MyCalendarRange/App.vue b/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/MyCalendarRange/App.vue index 320b5a978..48d07a74c 100644 --- a/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/MyCalendarRange/App.vue +++ b/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/MyCalendarRange/App.vue @@ -16,6 +16,18 @@ @click.prevent="onClickSave"> {{ $t('action.save')}} +
+ + +
+
+ + +
+ @@ -68,6 +80,17 @@ export default { } } }, + computed: { + showMyCalendarWidget: { + set(value) { + this.toggleMyCalendar(value); + this.updateEventsSource(); + }, + get() { + return this.showMyCalendar; + } + } + }, methods: { init() { this.fetchData() @@ -143,12 +166,50 @@ export default { payload.event.setProp('color', '#3788d8'); this.$store.dispatch('updateRange', payload); }, - onClickSave(payload){ + onClickSave(payload) { this.$store.dispatch('saveRanges', payload); }, - onDelete(payload){ + onDelete(payload) { payload.setProp('color', '#dddddd'); this.$store.dispatch('deleteRange', payload); + }, + copyDay(payload) { + console.log(payload); + // TODO get current day, or get current new events + console.log(this.calendarEvents.new); + if (this.calendarEvents.new.events) { + // TODO copy all events of the **LAST** day and create a array of events for the next day + // TODO if showWeekends, copy on the next day always, else, skip weekends + let events = this.calendarEvents.new.events.map(i => { + let startDate = new Date(new Date(i.start).getTime() + 24*60*60*1000); + let endDate = new Date(new Date(i.end).getTime() + 24*60*60*1000); + return ({ + start: startDate.toISOString(), + end: endDate.toISOString() + }) + } + + ); + let copiedEvents = { + events: events, + color: "#3788d8" + }; + console.log(copiedEvents) + //TODO in a loop : this.$store.dispatch('createRange', payload); + + let newEvents = this.calendarEvents.new.events; + newEvents.push(...copiedEvents.events); + this.calendarEvents.new = { + events: newEvents, + color: "#3788d8" + }; + + console.log(this.calendarEvents.new.events) + this.updateEventsSource(); + } else { + console.log('no new events to copy-paste!') + } + } }, mounted() { diff --git a/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/MyCalendarRange/i18n.js b/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/MyCalendarRange/i18n.js index 2f3f698ce..2d7513327 100644 --- a/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/MyCalendarRange/i18n.js +++ b/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/MyCalendarRange/i18n.js @@ -1,5 +1,10 @@ const appMessages = { fr: { + edit_your_calendar_range: "Planifiez vos plages de disponibilités", + show_my_calendar: "Afficher mon calendrier", + show_weekends: "Afficher les week-ends", + copy_range_to_next_day: "Copier les plages du jour au jour suivant", + copy_range_to_next_week: "Copier les plages de la semaine à la semaine suivante" } }