FullCalendar:基于用户的事件颜色

时间:2013-10-03 18:48:56

标签: jquery fullcalendar

我正在尝试自定义fullcalendar事件。只有一个事件源,我的事件对象如下所示:

{id = 1,title =“XYZ Apple”,start =“2013-10-02”,end =“2013-10-06”,allDay = true,userId =“abc”}

我想要实现的是基于用户ID我想要定义事件的颜色。 颜色的选择无关紧要,可以是随机的,用户数量也是动态的 例如 UserId“abc”的所有事件均以黑色显示 UserId“xyz”的所有事件都以红色等显示

另外,我正在寻找建议,如果我可以使用多个资源定义事件源: 对于“abc” - 不同的事件源 对于“xyz” - 不同的事件来源。

用户是动态的。

任何建议:

这是我日历的样子

var calendar = {
    header: {
        left: 'prev,next',
        center: 'title',
        right: 'today, basicDay,basicWeek,month'
    },
    defaultView: 'month',
    buttonText: {
        today: 'Today',
        day: 'Day',
        week: 'Week',
        month: 'Month',
        prev: 'Prev', 
        next: 'Next', 

    },
    weekends: true, 
    editable: true,
    events: {
        ignoreTimezone: true,
        url: 'GetEvents',                              
        error: function () {
            alert('GetEvent Call Failed!');
        }
    }
};

myCalendar.fullCalendar(calendar);

1 个答案:

答案 0 :(得分:0)

您可以通过为每个事件(Event object docs)传递eventBackgroundColor参数来自定义事件颜色。


要生成颜色,您需要“种子随机颜色”。有一个here(Javascript),我也使用过这个Ruby方法:

def random_hex(integer)
  srand integer
  (rand * 100000000).to_i.to_s(16)[0..5]
end

您可以使用用户ID播种。这个概念应该与其他语言类似。