EN · DE · RU · FR · ES

#2786: FullCalendar.events.tpl

projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/FullCalendar.events.tpl Wicket-Vorlage (JavaScript-Callback) · projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/FullCalendar.events.tpl 15 Zeilen · 14 Code · 0 Kommentare · 1 Leerzeile
Eine Wicket-PackageTextTemplate-Ressource, die den JavaScript-Callback zum Abrufen von Ereignissen definiert, der in die Konfiguration jeder FullCalendar-Ereignisquelle eingefügt wird. Diese einzelne Vorlagendatei ist die kritische Brücke zwischen dem Wicket-Server und dem FullCalendar-Client: Sie generiert eine JavaScript-Funktion, die eine Wicket-Ajax-GET-Anforderung an eine dynamisch generierte URL (eindeutig pro Ereignisquelle) stellt und dabei den sichtbaren Datumsbereich des Kalenders (Start/Ende als Epochen-Millisekunden), den Zeitzonen-Offset des Clients und ein Anti-Cache-Token übergibt. Die Antwort wird direkt an den FullCalendar-Callback als Ereignisdaten-Array übergeben.

Architektur

Vorlagenverarbeitung

Die Vorlage verwendet die Variablenersetzungssyntax von Wickets TextTemplate: ${url} ist die einzige Variable. Zur Renderzeit erstellt FullCalendar.setupCallbacks() eine HashMap mit dem Schlüssel "url", der auf die Ajax-Callback-URL der Ereignisquelle gesetzt ist (generiert von Wicket.Ajax.ajax), und ruft EVENTS.asString(map) auf, um das endgültige JavaScript zu erzeugen.

Ajax-Protokoll

Das generierte JavaScript führt einen Wicket-Ajax-Aufruf mit folgenden Parametern durch:

Namenskonvention für Vorlagendateien

Wickets PackageTextTemplate findet diese Datei per Konvention: Sie muss sich im selben Java-Paket (net.ftlines.wicket.fullcalendar) wie die FullCalendar-Klasse befinden und denselben Basisnamen haben. Die Erweiterung .tpl kennzeichnet sie als Textvorlagen-Ressource.

Git-Verlauf

CommitWas wurde geändert
9ebb88522Die Vorlagendatei wurde als Teil des ersten Repository-Commits hinzugefügt. Das Ajax-Protokoll (Wicket-Ajax-Aufruf mit Epochen-Zeitstempeln, Zeitzonen-Offset und Anti-Cache-Token) wurde von Anfang an etabliert und ist unverändert geblieben – ein Zeugnis für die Stabilität sowohl der Wicket-Ajax-API als auch des FullCalendar-Ereignisquellen-Protokolls.