Полный календарь перезвонить события обратный вызов
В настоящее время использую fullcalendar.io
В документации он имеет calendar.fullCalendar('refetchEvents'), который перезагружает все события с сервера.
Короче говоря, я хочу, чтобы запрос calendar.fullCalendar('refetchEvents') был выполнен, и отправил мне обратный вызов, чтобы сообщить мне об этом. Я хочу, чтобы все события были загружены, прежде чем я приступлю к выполнению определенных задач.
Как я могу это сделать?
3 ответа
Решение
Решил это, выполнив события refetch после успешного поста http, как показано ниже
Service.insert(event).
success(function (data, status, headers, config) {
calendar.fullCalendar('refetchEvents');
}).
error(function(data, status, headers, config) {
alert('error');
});
Попробуй это
$('# Календарь') fullCalendar('уничтожить'). $('# Календарь'). FullCalendar({ defaultView: "месяц", редактируемый: правда, //eventLimit: true, // разрешить ссылку "больше", когда слишком много событий события: myevents, });
Я изменил basic-views.html из папки демонстраций FullCalendar. я добавил
,
eventAfterAllRender: function (view) {
console.log('eventAfterAllRender');
console.log(view);
}
К списку опций календаря. Он срабатывает после начальной загрузки событий и после каждого $('#calendar'). FullCalendar( 'refetchEvents');
Полный демонстрационный код:
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<link href='../fullcalendar.css' rel='stylesheet' />
<link href='../fullcalendar.print.css' rel='stylesheet' media='print' />
<script src='../lib/moment.min.js'></script>
<script src='../lib/jquery.min.js'></script>
<script src='../fullcalendar.min.js'></script>
<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay'
},
defaultDate: '2014-11-12',
editable: true,
eventLimit: true, // allow "more" link when too many events
events: [
{
title: 'All Day Event',
start: '2014-11-01'
},
{
title: 'Long Event',
start: '2014-11-07',
end: '2014-11-10'
},
{
id: 999,
title: 'Repeating Event',
start: '2014-11-09T16:00:00'
},
{
id: 999,
title: 'Repeating Event',
start: '2014-11-16T16:00:00'
},
{
title: 'Conference',
start: '2014-11-11',
end: '2014-11-13'
},
{
title: 'Meeting',
start: '2014-11-12T10:30:00',
end: '2014-11-12T12:30:00'
},
{
title: 'Lunch',
start: '2014-11-12T12:00:00'
},
{
title: 'Meeting',
start: '2014-11-12T14:30:00'
},
{
title: 'Happy Hour',
start: '2014-11-12T17:30:00'
},
{
title: 'Dinner',
start: '2014-11-12T20:00:00'
},
{
title: 'Birthday Party',
start: '2014-11-13T07:00:00'
},
{
title: 'Click for Google',
url: 'http://google.com/',
start: '2014-11-28'
}
],
eventAfterAllRender: function (view) {
console.log('eventAfterAllRender');
console.log(view);
}
});
$('#calendar').fullCalendar( 'refetchEvents' );
});
</script>
<style>
body {
margin: 40px 10px;
padding: 0;
font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
font-size: 14px;
}
#calendar {
max-width: 900px;
margin: 0 auto;
}
</style>
</head>
<body>
<div id='calendar'></div>
</body>
</html>