timer
Фасет timer предназначен для запуска кода UI через указанные интервалы времени.
Действие таймера инициируется из браузера как запрос пользователя, и его обработчик может обновлять компоненты UI. Таймер прекращает работу, когда экран, для которого он был создан, закрывается.
Основное использование
Добавьте timer в элемент facets XML-дескриптора экрана:
<facets>
<timer id="timer" delay="3000" autostart="true" repeating="true"/>
</facets>
Создайте обработчик TimerActionEvent:
@Autowired
private Notifications notifications;
@Subscribe("timer")
public void onTimerTimerAction(final Timer.TimerActionEvent event) {
notifications.show("Timer action");
}
Обработчик будет вызываться каждые 3 секунды после открытия экрана.
Атрибуты
timer определяется в элементе facets XML-дескриптора экрана и имеет следующие атрибуты:
Обработчики
|
Чтобы сгенерировать заглушку обработчика в Jmix Studio, используйте вкладку Handlers панели инспектора Jmix UI, или команду Generate Handler, доступную на верхней панели контроллера экрана и через меню Code → Generate (Alt+Insert / Cmd+N). |
TimerActionEvent
TimerActionEvent срабатывает после прохождения указанного времени в атрибуте delay с момента запуска таймера. Если атрибут repeating установлен в true, это событие отправляется периодически до тех пор, пока таймер не будет остановлен.
Чтобы зарегистрировать обработчик программно, используйте метод addTimerActionListener() фасета.