EN · DE · RU · FR · ES

#2777: ButtonText.java

projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/ButtonText.java Java-DTO (FullCalendar-Button-Beschriftungen) · projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/ButtonText.java 115 Zeilen · 61 Code · 33 Kommentare · 21 leer
Ein einfaches Datenübertragungsobjekt, das die Button-Beschriftungskonfiguration für das FullCalendar-JavaScript-Widget modelliert. Enthält Zeichenketten-Eigenschaften für jeden Kalender-Navigationsbutton: vorheriger Monat, nächster Monat, vorheriges Jahr, nächstes Jahr, heute, Monatsansicht, Wochenansicht und Tagesansicht. Implementiert ein fließendes Builder-Muster – jeder Setter gibt this zurück –, sodass die Kalenderkonfiguration inline zusammengestellt werden kann. Wird von Jackson zu JSON serialisiert und in das FullCalendar-Initialisierungs-JavaScript eingebettet.

Architektur

Entwurfsmuster: Fließendes DTO

Alle Setter geben ButtonText zurück (nicht void), was verkettete Aufrufe ermöglicht: new ButtonText().setPrev("Zurück").setNext("Vor").setToday("Heute"). Dies ist das Standardmuster in den gesamten FullCalendar-Modellklassen (Config, Event, EventSource, Header) – alle verwenden fließende Setter für eine präzise Konfiguration in Java-Code.

Serialisierung

Jackson serialisiert dieses Objekt in ein JSON-Objekt wie {"prev":"Zurück","next":"Weiter","prevYear":"Vorheriges Jahr",...}. Es werden nur nicht-null Felder einbezogen (Standardverhalten von Jackson). Wenn ein Button-Text nicht angepasst wurde, greift der FullCalendar-JavaScript-Client auf seine integrierten Standardwerte für diesen Button zurück.

Acht Button-Positionen

Die FullCalendar-Kopfzeile kann Buttons in drei Abschnitten (links, mitte, rechts) mit jeder Kombination von Navigationsbefehlen anzeigen. Jeder Befehl kann benutzerdefinierten Text haben: prev/next für die Monatsnavigation, prevYear/nextYear für die Jahresnavigation, today für den „Springe zu heute“-Button und month/week/day für die Ansichtswechsel-Buttons.

Git-Verlauf

CommitWas geändert wurde
868d6abb7 bis ceb63e8a1Sechs jährliche Aktualisierungen der Copyright-Header. Die Feldliste des DTO und die fließende API sind unverändert geblieben – das FullCalendar-Button-Beschriftungsmodell bildet alle Button-Positionen, die die JavaScript-Bibliothek unterstützt, korrekt ab, und es waren keine zusätzlichen Buttons erforderlich.