Я работаю с fullcalendar 3 с laravel.
Перетаскиваемые события - это курсы, которые должны меняться каждую неделю. Я хочу динамически менять курсы при смене недели в календаре.
В данный момент в контроллере есть функция, которая дает мне каждый курс:
public function index()
{
$corsi = Corso::select('titolo', 'descrizione','ore_45esimi')->get();
return view('lezione.calendario_lezioni')->with(array('corsi' => $corsi));
}
, затем вview Я отображаю события, используя div:
<div id="external-events">
@foreach($corsi as $corso)
<div class="external-event bg-formazione">{{$corso->titolo }}
<br>
<div style="font-size: small">{{$corso->descrizione }} </div>
<input id="ore" type="hidden" value="{{$corso->ore_45esimi }}">
</div>
@endforeach
</div>
И в js-файле Fullcalendar у меня есть функция, позволяющая сделать курсы перетаскиваемыми:
function ini_events(ele) {
ele.each(function () {
let eventObject = {
title: $(this).contents()
.filter(function () {
return !!$.trim(this.innerHTML || this.data);
})
.first().text(),
descrizione: $.trim($(this).contents()[3].firstChild.textContent),
ore: $(this).contents('#ore').val(),
color: $(this).css("background-color"),
};
$(this).data('event', eventObject);
$(this).draggable({
zIndex: 1070,
revert: true,
revertDuration: 0
});
});
}
ini_events($('#external-events div.external-event'));
Я нашел функцию viewRender, которая позволяетчтобы получить начало и конец отображаемой недели:
$('#calendar').fullCalendar({
...
viewRender: function (element) {
var start = moment(element.intervalStart).format();
var end = moment(element.intervalEnd).subtract(1, 'd').format();
},
});
Как использовать переменную начала и конца в методе index в запросе контроллера, когда я впервые показываю календарь и каждый раз меняюсьнеделю?