Спасибо за проект! Действительно мило !
В настоящее время я пытаюсь обновить полный календарь с версии 1 до версии 2. Я исправил все основные проблемы благодаря документации по странице Обновление до версии 2.
Я сейчас застрял на концептуальной проблеме...
В моем календаре отображаются события по пользователям. Каждый пользователь представлен источником событий. Источник событий - это в основном массив событий. Когда я добавляю событие для пользователя, я хочу, чтобы оно динамически добавлялось в источник событий пользователя. Таким образом, у меня всегда есть полное соответствие между источниками и отображаемыми событиями в календаре.
Мне удалось реализовать этот вариант использования в 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();
}
Этот код хорошо работает благодаря тому, что исходник пользователя заранее известен full-calendar js:
private static native void addSource(String calendarId, JavaScriptObject source) /*-{
$wnd.jQuery("#"+calendarId).fullCalendar('addEventSource', source);
}-*/;
Внутри все мои обновления выполняются для исходного объекта с помощью манипуляций JSON. Когда я обновляю события, все источники моих пользователей обновляются и хорошо отображаются в календаре.
Однако этот код не работает на v2. Кажется, что источник, который я отправляю в полный календарь, отличается от того, который используется для внутреннего отображения событий. Все мои обновления на исходнике не применяются к внутренним данным, а значит не видны в календаре.
Есть ли способ использовать внутренние источники событий? Любая идея реализовать такой вариант использования? Может я что-то пропустил... Заранее спасибо!
Жюльен