Как отобразить как события, так и задачи в fullcalendar? - PullRequest
0 голосов
/ 26 марта 2019

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

Пока это только отображение событий, но я хочу также отображать задачи в календаре.

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); }

          });
        }

каков наилучший вариант?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...