FullCalendar.events.tplPackageTextTemplate 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.
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.
Le JavaScript généré effectue un appel Ajax Wicket avec les paramètres :
"u" — l'URL de callback unique à chaque source d'événements"dt": "json" — attend une réponse JSON"wr": false — ne pas utiliser le traitement de réponse Ajax de Wicket (le JSON brut est la liste d'événements)"ep" (paramètres supplémentaires) : start et end (millisecondes epoch depuis les arguments callback start/end de FullCalendar), timezoneOffset (décalage UTC du client en minutes), anticache (timestamp + aléatoire pour empêcher la mise en cache du navigateur)"sh" (gestionnaire de succès) — transmet la réponse jqXHR directement au callback de FullCalendar, fournissant ainsi le tableau de données d'événements
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.
| Commit | Ce 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. |