2016-10-19 2 views
1

Ich versuche, einen FullCalendar mit Monats-, Wochen-, Tages- und Listenansicht-Optionen einzustellen, und dies funktioniert für fast alles, wie Sie hier sehen können:FullCalendar - Listenansicht mehrtägige Ereignisse, die nicht richtig gruppieren

FullCalendar working fine for MonthView

Aber in der Listview, das erste Ereignis, das eine mehrtägige Veranstaltung ist nicht mit anderen evento Gruppierung zwischen ihm Daten beginnen und enden:

Events not grouping correctly at the days

ich versuche, Verwende das Co de unten, dass ich aus dieser Ausgabe Antwort erhalten: fullCalendar multi-day event start and end times (ich nicht genug Ruf haben, dort zu beantworten oder zu kommentieren, so dass ich die Schaffung dieser neuen)

events.push({ 
 
    title: "Birmingham Comic Con", 
 
    start: new Date('2016-11-20T09:00'), 
 
    end: new Date('2016-11-22T19:00'), 
 
    id: 1, 
 
    isMultipleDay: true, 
 
    multipleDayEvents: [ 
 
    { 
 
     start: new Date('2016-11-20T09:00'), 
 
     end: new Date('2016-11-20T19:00'), 
 
     allDay: false, 
 
     description: 'Day 1', 
 
    }, 
 
    { 
 
     start: new Date('2016-11-21T09:00'), 
 
     end: new Date('2016-11-20T19:00'), 
 
     allDay: false, 
 
     description: 'Day 2' 
 
    }, 
 
    { 
 
     start: new Date('2016-11-22T09:00'), 
 
     end: new Date('2016-11-22T19:00'), 
 
     allDay: false, 
 
     description: 'Day 3' 
 
    } 
 
    ] 
 
}); 
 
events.push({ 
 
    title: "Birmingham Comic Con Outro", 
 
    start: new Date('2016-11-20T10:00'), 
 
    end: new Date('2016-11-20T19:00'), 
 
    id: 2 
 
}); 
 
events.push({ 
 
    title: "Birmingham Comic Con No meio", 
 
    start: new Date('2016-11-21T10:00'), 
 
    end: new Date('2016-11-21T19:00'), 
 
    id: 3 
 
});

Dies ist die vollständige Code:

$(document).ready(function() { 
 
    moment.locale(idioma); 
 
    var today = moment(Date()).format("YYYY-MM-DD"); 
 
    var status = ''; 
 
    var vencimento = ''; 
 
    var description = ''; 
 
    var action = ''; 
 
    var setColor = ''; 
 

 
    $('#calendar').fullCalendar({ 
 
     header: { 
 
      left: 'prev,next today', 
 
      center: 'title', 
 
      right: 'month,agendaWeek,agendaDay,listMonth' 
 
     }, 
 
     defaultDate: today, 
 
     defaultView: 'month', 
 
     listDayFormat: 'dddd', 
 
     listDayAltFormat: 'LL', 
 
     locale: 'en', 
 
     editable: false, 
 
     eventLimit: true, // allow "more" link when too many events 
 
     events: function (start, end, timezone, callback) { 
 
      jQuery.ajax({ 
 
       url: window.root + "Calendarios/GetEvents", 
 
       type: 'POST', 
 
       dataType: 'json', 
 
       data: { 
 
        start: start.format(), 
 
        end: end.format(), 
 
        agendado: $("#Agendado").is(":checked"), 
 
        realizado: $("#Realizado").is(":checked"), 
 
        atrasado: $("#Atrasado").is(":checked") 
 
       }, 
 
       success: function (data) { 
 
        var events = []; 
 
        /* 
 
        if (data.Success) { 
 
         $.map(data.Treinamentos, function (t) { 
 
          if (t.Status == 2) { 
 
           setColor = "green"; 
 
          } else { 
 
           if (t.Status == 1 && (moment() > moment(t.DataFinal))) 
 
            setColor = "red"; 
 
           else 
 
            setColor = ""; 
 
          } 
 

 
          t.Participantes.forEach(function (item) { 
 
           if (item.Status == 2) { 
 
            setColor = "green"; 
 
           } else { 
 
            if (t.Status == 1 && (moment() > moment(t.DataFinal))) 
 
             setColor = "red"; 
 
            else 
 
             setColor = ""; 
 
           } 
 

 
           events.push({ 
 
            id: item.Id, 
 
            title: item.Funcionario.Registration + " - " + item.Funcionario.Name, 
 
            start: moment(t.DataInicial).format("YYYY-MM-DDTHH:mm:ss"), 
 
            end: moment(t.DataFinal).format("YYYY-MM-DDTHH:mm:ss"), 
 
            color: setColor, 
 
            description: t.InfoCardNumber + " - " + t.Revision, 
 
            url: window.root + "Treinamentos/Index/" + t.Id 
 
           }); 
 
          }); 
 
         }); 
 
        } 
 
        */ 
 
        events.push({ 
 
         title: "Birmingham Comic Con", 
 
         start: new Date('2016-11-20T09:00'), 
 
         end: new Date('2016-11-22T19:00'), 
 
         id: 1, 
 
         isMultipleDay: true, 
 
         multipleDayEvents: [ 
 
          { 
 
           start: new Date('2016-11-20T09:00'), 
 
           end: new Date('2016-11-20T19:00'), 
 
           allDay: false, 
 
           description: 'Day 1', 
 
          }, 
 
          { 
 
           start: new Date('2016-11-21T09:00'), 
 
           end: new Date('2016-11-20T19:00'), 
 
           allDay: false, 
 
           description: 'Day 2' 
 
          }, 
 
          { 
 
           start: new Date('2016-11-22T09:00'), 
 
           end: new Date('2016-11-22T19:00'), 
 
           allDay: false, 
 
           description: 'Day 3' 
 
          } 
 
         ] 
 
        }); 
 
        events.push({ 
 
         title: "Birmingham Comic Con Outro", 
 
         start: new Date('2016-11-20T10:00'), 
 
         end: new Date('2016-11-20T19:00'), 
 
         id: 2 
 
        }); 
 
        events.push({ 
 
         title: "Birmingham Comic Con No meio", 
 
         start: new Date('2016-11-21T10:00'), 
 
         end: new Date('2016-11-21T19:00'), 
 
         id: 3 
 
        }); 
 
        callback(events); 
 
       } 
 
      }); 
 
     }, 
 
     eventRender: function (event, element) { 
 
      element.popover({ 
 
       title: event.title, 
 
       placement: "auto", 
 
       html: true, 
 
       trigger: "click", 
 
       animation: "true", 
 
       content: event.description, 
 
       container: "body" 
 
      }); 
 
     }, 
 
     eventMouseout: function (event, jsEvent, view) { 
 
      $(this).popover("hide"); 
 
     }, 
 
     eventMouseover: function (event, jsEvent, view) { 
 
      $(this).popover("show"); 
 
     } 
 
    }); 
 

 
    //Botão Mostrar Filtro 
 
    $("#BtShowFilter").html(ShowFilter); 
 
    $("#BtShowFilter").on("click", function() { 
 
     $("#Filter").slideToggle(function() { 
 
      var text = $("#Filter").css("display") === "none" ? ShowFilter : HideFilter; 
 
      $("#BtShowFilter").html(text); 
 
     }); 
 

 
    }); 
 

 
    //Botão Filtro 
 
    $("#BtFilter").on("click", function() { 
 
     $('#calendar').fullCalendar("refetchEvents"); 
 
    }); 
 

 
});

Antwort

1

ich war tatsächlich sich mit den gleichen Themen befassen. Ich konnte es beheben, indem ich auf die neueste Version von FullCalendar (3.0.1) umstellte. Sie haben eine Lösung für diesen Fehler in der Listenansicht oder zumindest hat es sich um mein Problem gekümmert. Es sieht so aus als wäre es genau das gleiche wie deines.

Release Notes: https://github.com/fullcalendar/fullcalendar/releases/tag/v3.0.1

Hope this Ihre Probleme zu behebt!

Verwandte Themen