Event.javaDateTime de Joda-Time), enlace URL opcional, nombre de clase CSS, indicador de editabilidad, cuatro propiedades de color (texto, fondo, borde y un color general), y un campo opaco payload para adjuntar datos de dominio serializables arbitrarios. Cada método setter devuelve this para una construcción fluida. Este objeto se serializa a JSON mediante Jackson y se envía al cliente como parte de la respuesta de una fuente de eventos.
El campo id sirve como identificador único y es utilizado por FullCalendar para el seguimiento de eventos (persistencia de arrastrar y soltar, eliminación de eventos). Los eventos sin ID son tratados como efímeros por el cliente. El ID corresponde típicamente a una clave primaria de base de datos (por ejemplo, el ID de fila de base de datos de un evento de calendario).
Cuatro campos de color proporcionan control visual granular: color (texto y borde), backgroundColor, borderColor y textColor. Si solo se establece color, FullCalendar lo utiliza para todos los aspectos visuales. Las propiedades separadas permiten sobrescribir aspectos específicos mientras se heredan otros. Estas son cadenas de color CSS (hex, rgb o colores nombrados).
El campo payload (tipo Serializable) es un punto de extensión para adjuntar datos específicos de la aplicación a los eventos del calendario. Por ejemplo, un evento de calendario de ProjectForge podría llevar una referencia a la entidad de base de datos (entrada de hoja de horas, solicitud de vacaciones, hito del proyecto) que el evento representa. La carga útil recorre el viaje completo de ida y vuelta: servidor → JSON → cliente → callback → servidor, permitiendo a los manejadores del lado del servidor recuperar el objeto de dominio asociado con un evento clickeado o arrastrado.
Las horas de inicio y fin utilizan DateTime de Joda-Time (no java.util.Date), proporcionando conocimiento de zona horaria del que carece java.util.Date. Los serializadores personalizados en AbstractFullCalendar convierten estos a cadenas ISO-8601 que el cliente JavaScript de FullCalendar entiende de forma nativa.
| Commit | Qué cambió |
|---|---|
868d6abb7 hasta ceb63e8a1 | Seis actualizaciones anuales del encabezado de derechos de autor. El modelo de eventos se ha mantenido estable, reflejando la madurez de la especificación del Objeto Evento de FullCalendar — todas las propiedades estándar están cubiertas, y el punto de extensión payload maneja datos personalizados. |