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()
фасета.