EN · DE · RU · FR · ES

#2786: FullCalendar.events.tpl

projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/FullCalendar.events.tpl Template Wicket (callback JavaScript) · projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/FullCalendar.events.tpl 15 lignes · 14 code · 0 commentaires · 1 vide
Une ressource PackageTextTemplate de Wicket qui définit le callback JavaScript de récupération d'événements injecté dans la configuration de chaque source d'événements FullCalendar. Ce fichier template unique constitue le pont critique entre le serveur Wicket et le client FullCalendar : il génère une fonction JavaScript qui effectue une requête Ajax GET Wicket vers une URL générée dynamiquement (unique par source d'événements), en transmettant la plage de dates visible du calendrier (début/fin en millisecondes epoch), le décalage horaire du client et un jeton anti-cache. La réponse est transmise directement au callback de FullCalendar comme tableau de données d'événements.

Architecture

Traitement du template

Le template utilise la syntaxe de substitution de variables TextTemplate de Wicket : ${url} est la seule variable. Au moment du rendu, FullCalendar.setupCallbacks() crée une HashMap avec la clé "url" définie sur l'URL de callback Ajax de la source d'événements (générée par Wicket.Ajax.ajax), et appelle EVENTS.asString(map) pour produire le JavaScript final.

Protocole Ajax

Le JavaScript généré effectue un appel Ajax Wicket avec les paramètres :

Convention de nommage du fichier template

PackageTextTemplate de Wicket localise ce fichier par convention : il doit se trouver dans le même package Java (net.ftlines.wicket.fullcalendar) que la classe FullCalendar et avoir le même nom de base. L'extension .tpl signale qu'il s'agit d'une ressource de template texte.

Historique Git

CommitCe qui a changé
9ebb88522 Ajout du fichier template dans le cadre du commit initial du dépôt. Le protocole Ajax (appel Ajax Wicket avec timestamps epoch, décalage horaire et jeton anti-cache) a été établi dès le début et est resté inchangé — un témoignage de la stabilité de l'API Ajax de Wicket et du protocole de source d'événements de FullCalendar.