Sai*_*ful 1 javascript jquery fullcalendar
每月视图的日期插槽中的所有事件都根据开始时间排序,即事件开始时间0-23,顶部0小时和底部23.
但是我希望event.IsActive == true在活动任务列表的顶部和活动任务列表之后显示active()任务,event.IsActive == false将按开始时间0-23排序显示inactive()任务.
例:
这可能在fullCalendar中吗?
小智 9
您的请求需要直接修补fullcalendar代码.这是强制性的,因为fullcalendar不会将此功能暴露给外界.
我确实用版本1.4.11检查了我的响应,但是查看github上的1.5分支显示它应该是相同的.
要修补的函数是segCmp(找到src/util.js源版本,或者只是在fullcalendar.js中的文件末尾附近)
原始版本是:
function segCmp(a, b) {
return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start);
}
Run Code Online (Sandbox Code Playgroud)
修补后的版本看起来应该是这样的:
function segCmp(a, b) {
var activeDiff = ((b.event.IsActive || false) - (a.event.IsActive || false));
if (activeDiff != 0) return activeDiff;
return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start);
}
Run Code Online (Sandbox Code Playgroud)
我只是检查事件是否具有不同的IsActive状态并返回diff,如果没有diff保留先前的算法.(注意b - 一个差异,因为你想要IsActive:在IsActive之前为true:false)
注意,segCmp在拆分/排序事件时调用,因此将应用于所有视图.
最好的祝福,
帕斯卡尔
| 归档时间: |
|
| 查看次数: |
7211 次 |
| 最近记录: |