我正在使用FullCalendar.js,并且想要折叠一些事件(使用eventLimit),但我总是希望在日历上显示其他事件。 FullCalendar可能吗?在fullcalendar.js中,如何将eventLimit设置为仅适用于某些事件?
如果没有,这是一个很容易的变化,可以做到源?我查看了这些事件,但看不到一种方法可以轻松地指定仅适用于eventLimit代码的特定事件。
我正在使用FullCalendar.js,并且想要折叠一些事件(使用eventLimit),但我总是希望在日历上显示其他事件。 FullCalendar可能吗?在fullcalendar.js中,如何将eventLimit设置为仅适用于某些事件?
如果没有,这是一个很容易的变化,可以做到源?我查看了这些事件,但看不到一种方法可以轻松地指定仅适用于eventLimit代码的特定事件。
得到这个做的工作如下:
当添加/创建活动,我插入一个新的属性叫他们isLimited
并将其设置为true
(此属性是除了正常的像start
,id
,title
等)。这使我可以定义eventLimit将隐藏哪些事件。
接下来,在配置的eventRender
功能,我添加了这个:
if (event.isLimited) element.addClass('isLimited');
我用这个类的目标我想隐藏的元素。要做到这一点,在fullcalendar.js,在limitRow
功能(约4937线左右,至少对我来说)我改变了这个:
limitedNodes = rowStruct.tbodyEl.children().slice(levelLimit) // get level <tr> elements past the limit
.addClass('fc-limited').get(); // hide elements and get a simple DOM-nodes array
要这样:
limitedNodes = rowStruct.tbodyEl.children().slice(levelLimit) // get level <tr> elements past the limit
.find('td.isLimited').addClass('fc-limited').get(); // hide elements and get a simple DOM-nodes array
然后,在相同的文件,围绕行5204左右,在getCellSegs
功能,我改变了这一点:
if (seg) {
segs.push(seg);
}
要这样:
if (seg && seg.event.isLimited) {
segs.push(seg);
}
这使得日历仅对“更多”链接使用isLimited
进行计数。然后最后我已将此添加到日历配置为eventAfterAllRender
功能:
eventAfterAllRender: function(view) {
$('.fc-more-cell').parent('tr').each(function(){
$(this).appendTo($(this).parent());
});
},
这是为了让“更多”链接将一直在该行的其他事件后的底部。