我正在使用AngularUI-calendar构建一个web应用程序,它基本上在它下面使用FullCalendar.js。
我的问题是,我使用议程作为我的defaultView与slotMinutes设置为15。
我的日历配置如下:
calendar: {
defaultView: 'agendaDay',
editable: true,
timeFormat: {
agenda: 'HH:mm{ - HH:mm}',
},
axisFormat: 'HH:mm',
slotMinutes: 15,
}
它给了我这样的外观和感觉:
http://s30.postimg.org/aqt720mep/full_Calendar_row_without_times.jpg看起来不错,但是我想显示每一行的时间。像这样:
http://s24.postimg.org/vrvnhv39x/full_Calendar_row_with_times.jpg我管理如何在FullCalendar.js上更改3004行:
这是原始行
((!slotNormal || !minutes) ? formatDate(d, opt('axisFormat')) : ' ') +
这是我的修改
((!slotNormal || !minutes) ? "< b>" + formatDate(d, opt('axisFormat')) + "< /b>" : formatDate(d, opt('axisFormat'))) +
我想知道是否有任何其他方法来做到这一点,因为我试图避免在FullCalendar源代码上做任何更改。我不想为这个修改创建一个分支。有办法配置这个吗?
谢谢。
我知道2个事件,你可以实现(其中任何一个)在你的js和改变渲染。但从来没有尝试过你想要的。你可以检查eventRender或eventAfterAllRender方法。你可以试试。
我实际上发现这是FullCalendar.js上的一个bug。您可以选择时段分钟为15,30或45。你的日程表上出现了空行。
问题可以在这里看到:https://code.google.com/p/fullcalendar/issues/detail?id=946&colspec=ID
修复这个问题很容易。问题在下面的代码中:
"<th class='fc-agenda-axis " + headerClass + "'>" +
((!slotNormal || !minutes) ? formatDate(d, opt('axisFormat')) : ' ') +
"</th>"
如果您只想显示小时标记(1pm, 2pm, 3pm等),将代码更改为:
"<th class='fc-agenda-axis " + headerClass + "'>" +
((!minutes) ? formatDate(d, opt('axisFormat')) : ' ') +
"</th>"
如果你想一直显示时间:
"<th class='fc-agenda-axis " + headerClass + "'>" +
formatDate(d, opt('axisFormat')) +
"</th>"
变量slotNormal导致问题。该变量基本上是一个mod 15,其值是您在日历配置中的slotMinutes中输入的。因此,对于值15、30和45(或任何其他倍数),它将不满足原始代码中的条件。
问候,Pedro Vaz