Event.javaDateTime), необязательная URL-ссылка, имя CSS-класса, флаг редактируемости, четыре цветовых свойства (текст, фон, граница и общий цвет), а также непрозрачное поле payload для присоединения произвольных сериализуемых доменных данных. Каждый сеттер возвращает this для «текучего» построения. Этот объект сериализуется в JSON с помощью Jackson и отправляется клиенту как часть ответа источника событий.Поле id служит уникальным идентификатором и используется FullCalendar для отслеживания событий (персистентность перетаскивания, удаление событий). События без ID рассматриваются клиентом как эфемерные. ID обычно соответствует первичному ключу базы данных (например, ID строки события календаря в БД).
Четыре цветовых поля обеспечивают детальный визуальный контроль: color (текст и граница), backgroundColor, borderColor и textColor. Если задан только color, FullCalendar использует его для всех визуальных аспектов. Отдельные свойства позволяют переопределять конкретные аспекты, наследуя остальные. Это строки CSS-цветов (hex, rgb или именованные цвета).
Поле payload (тип Serializable) — точка расширения для присоединения специфичных для приложения данных к событиям календаря. Например, событие календаря ProjectForge может содержать ссылку на сущность базы данных (запись табеля, запрос на отпуск, веху проекта), которую представляет событие. Payload проходит полный цикл: сервер → JSON → клиент → обратный вызов → сервер, позволяя серверным обработчикам извлекать доменный объект, связанный с нажатым или перетащенным событием.
Время начала и окончания использует DateTime от Joda-Time (не java.util.Date), что обеспечивает осведомлённость о часовом поясе, которой не хватает java.util.Date. Пользовательские сериализаторы в AbstractFullCalendar преобразуют их в строки ISO-8601, которые нативно понимает JavaScript-клиент FullCalendar.
| Коммит | Что изменилось |
|---|---|
868d6abb7 – ceb63e8a1 | Шесть ежегодных обновлений заголовков авторских прав. Модель событий оставалась стабильной, что отражает зрелость спецификации объекта события FullCalendar — все стандартные свойства покрыты, а точка расширения payload обрабатывает пользовательские данные. |