EN · DE · RU · FR · ES

#2777: ButtonText.java

projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/ButtonText.java DTO Java (Etiquetas de botones de FullCalendar) · projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/ButtonText.java 115 líneas · 61 código · 33 comentarios · 21 en blanco
Un objeto simple de transferencia de datos que modela la configuración de las etiquetas de los botones para el widget JavaScript FullCalendar. Contiene propiedades de cadena para cada botón de navegación del calendario: mes anterior, mes siguiente, año anterior, año siguiente, hoy, vista mensual, vista semanal y vista diaria. Implementa un patrón de construcción fluido — cada método setter devuelve this — lo que permite componer la configuración del calendario en línea. Se serializa a JSON mediante Jackson y se incrusta en el JavaScript de inicialización de FullCalendar.

Arquitectura

Patrón de diseño: DTO fluido

Todos los setters devuelven ButtonText (no void), lo que permite llamadas encadenadas: new ButtonText().setPrev("Atrás").setNext("Adelante").setToday("Hoy"). Este es el patrón estándar en todas las clases del modelo de FullCalendar (Config, Event, EventSource, Header) — todas usan setters fluidos para una configuración concisa en código Java.

Serialización

Jackson serializa este objeto a un objeto JSON como {"prev":"Ant","next":"Sig","prevYear":"Año ant",...}. Solo se incluyen los campos no nulos (comportamiento predeterminado de Jackson), por lo que si no se personaliza el texto de un botón, el cliente JavaScript de FullCalendar recurre a sus valores predeterminados integrados para ese botón.

Ocho posiciones de botón

El encabezado de FullCalendar puede mostrar botones en tres secciones (izquierda, centro, derecha) con cualquier combinación de comandos de navegación. Cada comando puede tener texto personalizado: prev/next para navegación mensual, prevYear/nextYear para navegación anual, today para el botón "ir a hoy", y month/week/day para los botones del selector de vista.

Historial de Git

CommitQué cambió
868d6abb7 hasta ceb63e8a1Seis actualizaciones anuales del encabezado de derechos de autor. La lista de campos del DTO y su API fluida se han mantenido sin cambios — el modelo de etiquetas de botones de FullCalendar representa con precisión todas las posiciones de botones que admite la biblioteca JavaScript, y no se han necesitado botones adicionales.