2015-04-30 3 views
1

Я хочу изменить заголовокFormat моего календаря.FullCalendar Custom/Override Заголовок заголовка

В настоящее время заголовок находится в теге h2, и мы не можем его персонализировать, добавив html-код в параметр titleFormat. Например, поставьте тег span на мое фиксированное значение titleFormat (которое есть [] там).

Я хотел бы знать, можно ли переопределить метод updateTitle класса Header без изменения fullcalendar.js. Или еще одна возможность.

У меня 2 просмотра: неделя с типом формата '[Semaine] W' и пользовательский один день с типом формата 'dddd D MMMM YYYY'.

Моя версия FullCalendar - v2.3.0.

+0

[ 'titleFormat'] (http://fullcalendar.io/docs/text/titleFormat/) должен работать нормально, нет? Если вы хотите изменить то, как он выглядит, используйте css. – slicedtoad

+0

Окончательный, я использую свой собственный заголовок. Я хотел иметь титул на нескольких строках. (Semaine W) Для примера Но поскольку он помещается в H2, невозможно пройти мимо css. – azertoff

ответ

3

Хорошо, это не поддерживается, но обходной путь. JSFiddle

viewRender: function (view, element) { 
    //The title isn't rendered until after this callback, so we need to use a timeout. 
    if(view.type === "agendaWeek"){ 
     window.setTimeout(function(){ 
      $("#calendar").find('.fc-toolbar > div > h2').empty().append(
       "<div>"+view.start.format('MMM Do [to]')+"</div>"+ 
       "<div>"+view.end.format('MMM Do')+"</div>" 
      ); 
     },0); 
    }else if(view.type === "agendaDay"){ 
     window.setTimeout(function(){ 
      $("#calendar").find('.fc-toolbar > div > h2').empty().append(
       "<div>"+view.start.format('dddd D MMMM YYYY')+"</div>" 
      ); 
     },0); 
    } 
}, 

Я не знаю, если это самая стабильная вещь в мире, но, в худшем случае, это может иметь небольшой эстетический глюк иногда (например, когда новая версия FC освобождается.).

0

Простой способ для перезаписи view.title в viewRender событие:

... 
, 
header: { 
    center: 'title', 
}, 
viewRender: function(view, element) { 
    view.title = 'Your Custom Title'; 
}, 
... 
Смежные вопросы