2015-02-19 4 views
1

Я использую jQuery fullCalendar в моей заявке.jQuery fullCalendar hourly event endTime

Потому что я использовал displayEventEnd: true в моем коде, в календаре отображаются события как startTime - endTime Title например. 09:00 - 12:00 Meeting.

Но когда мероприятие является почасовым мероприятием, оно говорит только 09:00 Meeting, а не 09:00 - 10:00 Meeting.

Я хочу показать endTime всегда. Я ценю любую помощь.

ответ

2

displayEventEnd Из документации:

Если событие не имеет дату/время окончания, он не будет отображаться в любом случае, независимо от значения этого параметра.

От OP:

Но когда событие почасовой событие, это говорит только 09:00 Встреча, не 09:00 - 10:00 Встреча.

В этом случае вы единственный, кто знает, что это диапазон 1 час, поскольку end: не предоставляется.

Я не уверен, если вам разрешено изменять библиотеку, но когда я загляну в fullcalendar.js или fullcalendar.min.js (проверьте свою ссылку в html), я вижу следующую часть, которая форматирует текст в элементе события.

getEventTimeText: function(range, formatStr) { 

     formatStr = formatStr || this.eventTimeFormat; 

     if (range.end && this.displayEventEnd) { 
      return this.view.formatRange(range, formatStr); 
     } 
     else { 
      return range.start.format(formatStr); 
     } 
    } 

Если заменить

return range.start.format(formatStr); 

с

return range.start.format(formatStr) + ' - ' + range.start.clone().add(1,'hour').format(formatStr); 

он будет работать соответствующим образом.

EDIT

Следующая версия выглядит лучше

if (range.end && this.displayEventEnd) { 
    return this.view.formatRange(range, formatStr); 
} 
else if (this.displayEventEnd){ 
    return range.start.format(formatStr) + ' - ' + range.start.clone().add(1,'hour').format(formatStr); 
    //or 
    //return this.view.formatRange({start: range.start,end: range.start.clone().add(1,'hour')}, formatStr ,' - '); 
} 
else{ 
    return range.start.format(formatStr); 
} 
+0

Thanx человек, он работает как шарм – yenerunver