CalendarResponse.java$('#calendarId').fullCalendarExt("comando", args...)) y la añade al AjaxRequestTarget de Wicket. Este es el canal de comandos servidor-a-cliente para la manipulación del calendario: refrescar eventos, alternar la visibilidad de fuentes de eventos, eliminar eventos, navegar a fechas y limpiar selecciones — todo impulsado desde manejadores de eventos del lado del servidor que reaccionan a interacciones del usuario.Cada método público devuelve CalendarResponse para encadenamiento. El patrón permite componer múltiples comandos de calendario en un único manejador de callback:
response.clearSelection().gotoDate(fecha).refetchEvents();
El mecanismo subyacente genera cadenas JavaScript mediante execute(args...), que usa String.format para producir un selector jQuery dirigido al ID de marcado Wicket del calendario, y añade el JavaScript al AjaxRequestTarget. El helper q() envuelve los argumentos entre comillas simples (o genera null para valores nulos).
refetchEvents() — indica a FullCalendar que recargue los datos de eventos de todas las fuentesrefetchEvents(EventSource) — recarga una fuente de eventos específica alternándola entre apagado y encendidorefetchEvent(EventSource, Event) — marcador de posición para una actualización optimizada de un solo evento (actualmente recurre a una actualización completa de la fuente con un comentario TODO)toggleEventSource(EventSource, boolean) — activa o desactiva la casilla de visibilidad de una fuente de eventosremoveEvent(Event) — elimina un evento específico del calendariogotoDate(Date) — navega la vista del calendario a una fecha específicaclearSelection() — limpia la selección del rango de fechas resaltadoEl método refetchEvent contiene un comentario TODO que reconoce la implementación actual no optimizada (recuperación completa de la fuente). El comentario esboza la optimización planificada: buscar el evento afectado en el búfer del lado del cliente y recuperar solo ese evento. Este es un TODO de rendimiento reconocido para calendarios con muchos eventos.
| Commit | Qué cambió |
|---|---|
868d6abb7 hasta ceb63e8a1 | Seis actualizaciones anuales del encabezado de derechos de autor. El conjunto de comandos y la API fluida se han mantenido estables — el vocabulario de comandos del script de extensión de FullCalendar cubre las necesidades de la integración del calendario, y no se han requerido nuevos comandos servidor-a-cliente. |