Выделите дату, если у нее есть событие, использующее fullCalendar - PullRequest
1 голос
/ 24 марта 2019

Я пытаюсь получить все события в моей базе данных и выделить даты, в которых есть событие, в моем пользовательском интерфейсе.На данный момент я могу делать это только с использованием статических данных, и в моем тестовом коде оно отображает имя события, которое, как я хочу, состоит в том, чтобы просто выделить дату без отображения имени события, как я могу получить ее?

 $('#calendars').fullCalendar({

height: 395,

header: {
  // title, prev, next, prevYear, nextYear, today
  left: 'prev',
  center: 'title',
  right: 'next'
},
events: [
  {
      title  : 'event1',
      start  : '2019-03-01'
  },
  {
      title  : 'event2',
      start  : '2019-03-05',
  },
  {
      title  : 'event3',
      start  : '2019-03-15'
  },
  {
    title  : 'event5',
    start  : '2019-05-15'
  }

],
eventRender: function (event, element, view) {
    // like that
    var dateString = moment(event.start).format('YYYY-MM-DD');
    $('#calendar').find('.fc-day-number[data-date="' + dateString + '"]').css('background-color', '#FAA732');
},
});

И результат для этого таков:

enter image description here

Я планирую использовать ajax как:

events: [
    $.ajax({
         type: 'GET',
         url: '/events',
         success: function(events){
             //return the result as  the events data.
         }

    });
],

но я не знаю, как это реализовать.Это мой eventController;

 public function allEvents(){
    $events = Events::whereNotNull('event_date')->get();

    return $events;
}

Как я могу достичь своей цели?

1 Ответ

2 голосов
/ 24 марта 2019

Вы можете попробовать что-то вроде этого:

events: function(start, end, timezone, callback) {
   $.ajax({
         url: "http://yourwebsite.com/events", // complete URL here.. you need to change it
         dataType: "json",
         type: 'GET',
         success: function(data){
           callback(data);
         },
         error: function(error){
          console.log("Error:");
          console.log(error);
         }
    })
}

и изменить код контроллера для возврата JSON

public function allEvents(){
    $events = Events::whereNotNull('event_date')->get();
    // make sure events data has title and start values returned from the database.
    return response()->json($events); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...