我想根据日历使用的视图(日/周/月)显示不同数量的信息——这样时间块就不会太大,但可以传达尽可能多的信息。标准的做法是什么?
我试过在客户端这样做(发送所有的信息,并有选择地呈现所需要的)。从技术上讲,它是有效的,但我实际上不得不重写fullCalendar的事件渲染部分(以操纵eventRender中的元素)。我还尝试在事件定义中将视图名称传递给服务器(无效)。
我是否忽略了一些明显的东西?我不会想到第一个有这种琐碎想法的人……
//VIEW CHANGE - ALSO ADDS INITIAL SOURCES PER DAY VIEW
viewDisplay: function (view) {
if (lastView == undefined) { lastView = 'firstRun'; }
// if (isCustomDate == 'True') {
// lastView = 'basicDay';
// $('#calendar').fullCalendar('gotoDate', passedYear, passedMonth, passedDay);
// }
if (view.name != lastView) {
if (view.name == 'month') {
if (brsEnabled == 'True') { $('#calendar').fullCalendar('removeEventSource', 'diaryFeed.aspx?style=brsComplex'); $('#calendar').fullCalendar('addEventSource', 'diaryFeed.aspx?style=brsBasic'); }
if (activeEnabled == 'True') { $('#calendar').fullCalendar('removeEventSource', 'diaryFeed.aspx?style=fixturesComplex'); $('#calendar').fullCalendar('addEventSource', 'diaryFeed.aspx?style=fixturesBasic'); }
if (previousEnabled == 'True') { $('#calendar').fullCalendar('removeEventSource', 'diaryFeed.aspx?style=previousComplex'); $('#calendar').fullCalendar('addEventSource', 'diaryFeed.aspx?style=previousBasic'); }
if (newsEventEnabled == 'True') { $('#calendar').fullCalendar('removeEventSource', 'diaryFeed.aspx?style=newsEvents'); $('#calendar').fullCalendar('addEventSource', 'diaryFeed.aspx?style=newsEvents'); }
}
if (view.name == 'basicDay') {
if (brsEnabled == 'True') { $('#calendar').fullCalendar('removeEventSource', 'diaryFeed.aspx?style=brsBasic'); $('#calendar').fullCalendar('addEventSource', 'diaryFeed.aspx?style=brsComplex'); }
if (activeEnabled == 'True') { $('#calendar').fullCalendar('removeEventSource', 'diaryFeed.aspx?style=fixturesBasic'); $('#calendar').fullCalendar('addEventSource', 'diaryFeed.aspx?style=fixturesComplex'); }
if (previousEnabled == 'True') { $('#calendar').fullCalendar('removeEventSource', 'diaryFeed.aspx?style=previousBasic'); $('#calendar').fullCalendar('addEventSource', 'diaryFeed.aspx?style=previousComplex'); }
if (newsEventEnabled == 'True') { $('#calendar').fullCalendar('removeEventSource', 'diaryFeed.aspx?style=newsEvents'); $('#calendar').fullCalendar('addEventSource', 'diaryFeed.aspx?style=newsEvents'); }
}
lastView = view.name;
}
},
这是我发现的唯一方法-在服务器端,我查看传递的样式,然后生成应该返回的json .