rdv: fix timezone issue for editing events

This commit is contained in:
nobohan 2021-08-16 15:39:12 +02:00
parent 981c819f56
commit afad23eb0f
3 changed files with 31 additions and 11 deletions

View File

@ -107,14 +107,24 @@ const store = createStore({
}, },
// Calendar // Calendar
setDateRange({ commit }, payload) { createEvent({ commit }, payload) {
console.log('### action setDateRange', payload); console.log('### action createEvent', payload);
let startDateInput = document.getElementById("chill_calendarbundle_calendar_startDate"); let startDateInput = document.getElementById("chill_calendarbundle_calendar_startDate");
startDateInput.value = payload.startStr; startDateInput.value = payload.startStr;
let endDateInput = document.getElementById("chill_calendarbundle_calendar_endDate"); let endDateInput = document.getElementById("chill_calendarbundle_calendar_endDate");
endDateInput.value = payload.endStr; endDateInput.value = payload.endStr;
commit('setEvents', payload); commit('setEvents', payload);
} },
updateEvent({ commit }, payload) {
console.log('### action updateEvent', payload);
let startDateInput = document.getElementById("chill_calendarbundle_calendar_startDate");
console.log(payload.event)
startDateInput.value = payload.event.start.toISOString();
let endDateInput = document.getElementById("chill_calendarbundle_calendar_endDate");
endDateInput.value = payload.event.end.toISOString();
commit('setEvents', payload);
},
} }
}); });

View File

@ -21,19 +21,21 @@ export default {
return { return {
calendarOptions: { calendarOptions: {
plugins: [ dayGridPlugin, interactionPlugin, timeGridPlugin ], plugins: [ dayGridPlugin, interactionPlugin, timeGridPlugin ],
initialView: 'dayGridMonth', initialView: 'timeGridWeek',
initialEvents: window.startDate !== undefined ? initialEvents: window.startDate !== undefined ?
[ [
{ {
id: 1, id: 1,
start: window.startDate.date, start: window.startDate,
end: window.endDate.date end: window.endDate
} }
] : [], ] : [],
initialDate: window.startDate !== undefined ? window.startDate.date : new Date(), initialDate: window.startDate !== undefined ? window.startDate : new Date(),
selectable: true, selectable: true,
select: this.onDateSelect, select: this.onDateSelect,
eventChange: this.onEventChange,
selectMirror: true, selectMirror: true,
editable: true,
headerToolbar: { headerToolbar: {
left: 'prev,next today', left: 'prev,next today',
center: 'title', center: 'title',
@ -44,8 +46,16 @@ export default {
}, },
methods: { methods: {
onDateSelect(payload) { onDateSelect(payload) {
this.$store.dispatch('setDateRange', payload); this.$store.dispatch('createEvent', payload);
},
onEventChange(payload) {
this.$store.dispatch('updateEvent', payload);
} }
} },
// mounted() {
// console.log(window.startDate);
// console.log(window.endDate);
// console.log(window.date);
// }
} }
</script> </script>

View File

@ -25,8 +25,8 @@
'{{ "You are going to leave a page with unsubmitted data. Are you sure you want to leave ?"|trans }}'); '{{ "You are going to leave a page with unsubmitted data. Are you sure you want to leave ?"|trans }}');
}); });
window.entity = {{ entity_json|json_encode|raw }}; window.entity = {{ entity_json|json_encode|raw }};
window.startDate = {{ entity.startDate|json_encode|raw }}; window.startDate = {{ entity.startDate|date('Y-m-d H:i:s')|json_encode|raw }};
window.endDate = {{ entity.endDate|json_encode|raw }}; window.endDate = {{ entity.endDate|date('Y-m-d H:i:s')|json_encode|raw }};
</script> </script>
{{ encore_entry_script_tags('vue_calendar') }} {{ encore_entry_script_tags('vue_calendar') }}
{% endblock %} {% endblock %}