感谢您的项目!真的很好!
我目前正在尝试将完整日历从v1升级到v2。 由于升级到v2页面文档,我修复了所有主要问题。
我现在陷入一个概念问题......
我的日历显示用户的事件。 每个用户都由事件源代表。 事件来源基本上是一系列事件。 当我为用户添加事件时,我希望以动态方式将其添加到用户的事件源中。这样,我总是在日历上显示源和显示事件之间的完全匹配。
我成功地在v1中实现了这个用例,如下所示:
private void addEventToSource(Event event) {
// get user
String userId = event.getUserId();
// get source for user (sources is a map user -> JsonObject)
JSONObject source = sources.get(userId);
// get the list of events
JSONArray array = (JSONArray)source.get("events");
// add event at the end of the list
array.set(array.size(), createJsonEvent(event));
// refetch events from all sources
refetchEvents();
}
此代码很有效,这要归功于用户的来源之前已知全日历js:</ p>
private static native void addSource(String calendarId, JavaScriptObject source) /*-{
$wnd.jQuery("#"+calendarId).fullCalendar('addEventSource', source);
} - * /
在内部,我的所有更新都是通过JSON操作在源对象上完成的。当我重新提取活动时,我的所有用户都会#来源是最新的,并在日历上很好地显示。
但是,此代码在v2上不起作用。我发送到完整日历的源似乎与内部用于显示事件的源不同。我在源上的所有更新都不会应用于内部数据,因此在日历上不可见。
有没有办法让内部事件来源使用? 有没有想过实现这样一个用例?也许我错过了什么...... 提前谢谢!
朱利安
答案 0 :(得分:0)
您可以查看以下内容:
$('#calendar').fullCalendar('removeEventSource', source)
$('#calendar').fullCalendar('refetchEvents')
$('#calendar').fullCalendar('addEventSource', newSource)
$('#calendar').fullCalendar('refetchEvents');
您甚至可以删除所有事件并根据需要添加它们。这取决于你在做什么。 http://fullcalendar.io/docs/event_data/removeEvents/
BTW朱利安 - 你最有可能通过发布Java来吓跑响应者 - 而不是Javascript。发布更多javascript代码以获得更准确的答案。