我的任务要求中,现在每一个事件都有一个特殊的优先级是一个整数这样一种方式改变。数字越高,重要性越高。
老:
// Old function, this won't sort based on importance first!
function segCmp(a, b) {
return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start);
}
新:
function segCmp(a, b) {
var priorityDiff = ((a.event.priority || 0) < (b.event.priority || 0)) ? 1 : ((b.event.priority || 0) < (a.event.priority || 0)) ? -1 : 0;
if(priorityDiff != 0) return priorityDiff;
return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start);
}
谁对你想利用这一点,你的事件JSON有太多是这个样子:
{
allDay: false,
color: "#7BD148",
id: "1",
key: "1",
start: "2013-01-28 13:07:00",
title: "test event",
url: "http://google.se",
priority: 10
},
{
allDay: false,
color: "#7BD148",
id: "2",
key: "2",
start: "2013-01-28 12:07:00",
title: "test event 2",
url: "http://google.se",
priority: 5
},
,你可能看到第二个事件是在早些时候预定的,但添加了代码后,它将按照它们的优先级排序。所以第一场比赛将首先举行,接下来的第二场比赛将进行。
这就是我解决它的方法,优先级是一个整数,我试图按照它排序,除非它们相同或者它们不存在(空/未定义)。它按最高整数排序。
该函数在fullCalendar.js中。
所以,你要根据重要性重新排序的事件(某一天),对不对?另外,你的活动是否有时间或只是约会? – ganeshk 2013-03-05 19:17:17
我不认为这是完全可能的。您将不得不操纵js并创建一个重要行,例如表中的allDay行。 – 2013-03-05 22:17:36
这是正确的ganeshk。我准备编辑js并创建重要行。但我真的不知道从哪里开始编辑。代码有点混乱。 但我想我得试试。 – Ms01 2013-03-05 22:54:58