Я хочу показывать в календаре как события, так и задачи, но не знаю, как это сделать? В настоящее время я отображаю только события в календаре, но не знаю, как отображать их одновременно.
Пока это только отображение событий, но я хочу также отображать задачи в календаре.
Ajax для извлечения событий и задач:
function fetchEventAndRenderCalendar(){
var events = [];
var tasks = []; //step 2
$.ajax({
url:'events',
type: "GET",
datatype: 'json',
cache: false,
success: function(data){
console.log(data.events);
console.log(data.tasks);
$.each(data.events, function(index, val){ //step 3
//alert(data);
events.push({
id: val.id,
title: val.name,
start: val.start_date,
end: val.end_date,
start_time: val.start_time,
end_time: val.end_time,
location:val.location,
description: val.description,
calendar_type: val.calendar_type,
timezone: val.timezone,
allDay: val.isFullDay
});
});
$.each(data.tasks, function(index, val){ //steps 4
//alert(data);
tasks.push({
id: val.id,
title: val.name,
start: val.due_date,
assigned_to: val.assigned_to,
description: val.description,
calendar_type: val.calendar_type,
link_to: val.link_to
});
})
//$this.$calendarObj.fullCalendar('renderEvents', events);
//console.log(tasks);
generateCalendar(events);
},
error : function(error){
console.log(error);
}
});
Функция GenrateCalendar:
function generateCalendar(events){
$this.$calendarObj = $this.$calendar.fullCalendar({
//slotDuration: '00:15:00', /* If we want to split day time each 15minutes */
//minTime: '00:00:00',
//maxTime: '24:00:00',
defaultView: 'month',
handleWindowResize: true,
//defaultDate: new Date(),
timeFormat:'h(:mm)a',
height:1000,//$(window).height()-300 , //
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
events: events,
// tasks: events,
eventColor: '#039cfd',
editable: true,
droppable: true, // this allows things to be dropped onto the calendar !!!
eventLimit: true, // allow "more" link when too many events
selectable: true,
drop: function(date) { $this.onDrop($(this), date); },
select: function (start, end, allDay) { $this.onSelect(start, end, allDay); },
eventClick: function(calEvent, jsEvent, view) { $this.onEventClick(calEvent, jsEvent, view); }
});
}
каков наилучший вариант?