EN · DE · RU · FR · ES

#2786: FullCalendar.events.tpl

projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/FullCalendar.events.tpl Шаблон Wicket (JavaScript callback) · projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/FullCalendar.events.tpl 15 строк · 14 кода · 0 комментариев · 1 пустая
Ресурс Wicket PackageTextTemplate, определяющий JavaScript-функцию обратного вызова для получения событий, внедряемую в конфигурацию каждого источника событий FullCalendar. Этот единственный файл шаблона является критическим мостом между сервером Wicket и клиентом FullCalendar: он генерирует JavaScript-функцию, которая выполняет Ajax GET-запрос Wicket к динамически генерируемому URL (уникальному для каждого источника событий), передавая видимый диапазон дат календаря (start/end в миллисекундах эпохи), смещение часового пояса клиента и токен для предотвращения кэширования. Ответ передается напрямую в функцию обратного вызова FullCalendar в виде массива данных событий.

Архитектура

Обработка шаблона

Шаблон использует синтаксис подстановки переменных Wicket TextTemplate: ${url} — единственная переменная. Во время рендеринга FullCalendar.setupCallbacks() создает HashMap с ключом "url", установленным на URL Ajax-обратного вызова источника событий (сгенерированный Wicket.Ajax.ajax), и вызывает EVENTS.asString(map) для получения итогового JavaScript.

Ajax-протокол

Сгенерированный JavaScript выполняет Ajax-вызов Wicket с параметрами:

Соглашение об именовании файлов шаблонов

Wicket PackageTextTemplate находит этот файл по соглашению: он должен находиться в том же Java-пакете (net.ftlines.wicket.fullcalendar), что и класс FullCalendar, и иметь то же базовое имя. Расширение .tpl указывает, что это ресурс текстового шаблона.

История Git

КоммитЧто изменилось
9ebb88522Добавлен файл шаблона в рамках первоначального коммита репозитория. Ajax-протокол (Ajax-вызов Wicket с временными метками эпохи, смещением часового пояса и токеном для предотвращения кэширования) был установлен с самого начала и остался неизменным — свидетельство стабильности как Ajax API Wicket, так и протокола источников событий FullCalendar.