Вот JSON объекта событий, который я использую для этого.
[{"id":"90797496757","title":"Event Slot #1 - 2","allDay":false,"start":"2020-02-01T07:00:00","end":"2020-02-01T09:00:00","rendering":"background"},{"id":"90797017323","title":"Event Slot #1 - 1","allDay":false,"start":"2020-02-01T07:00:00","end":"2020-02-01T09:00:00","rendering":"background"},{"id":"90798034365","title":"Event Slot #2 - 1","allDay":false,"start":"2020-02-01T11:00:00","end":"2020-02-01T13:00:00","rendering":"background"},{"id":"90798407481","title":"Event Slot #2 - 2","allDay":false,"start":"2020-02-01T11:00:00","end":"2020-02-01T13:00:00","rendering":"background"}]
А вот мой javascript код:
Vue.config.devtools = true;
var ajaxurl = ajax_object.ajax_url;
var myApp = new Vue({
el: "#front-end",
data: {
settings : {},
updating : false,
customerData : esp_data.customer_data,
superPass : null,
calendar : null,
},
mounted: function() {
this.setup();
},
methods: {
setup: function() {
this.superPass = this.customerData.super_passes[0];
if (this.superPass.events.length > 0) {
var events = this.superPass.events.map( function(event) {
return {
"id": event.id,
"title": event.name.text,
"allDay": false,
"start": event.start.local,
"end": event.end.local,
"rendering": "background",
}
});
console.log(JSON.stringify(events));
var startDate = events[0].start;
var calendarEl = document.getElementById('full-calendar');
this.calendar = new FullCalendar.Calendar(calendarEl, {
plugins: [ 'timeGrid' ],
defaultView: 'timeGridDay',
defaultDate: startDate,
events: events,
});
this.calendar.render();
}
}
}
});
У меня есть два набора событий с одинаковым временем начала и окончания, но по какой-то причине они не будут отображаться в календаре. Однако, когда я устанавливаю свойство allDay каждого события как true, они обнаруживаются без проблем. Есть ли что-то, что я смотрю / делаю неправильно?