dataLoadCoordinator
Фасет dataLoadCoordinator предназначен для запуска загрузчиков данных и для декларативной привязки загрузчиков данных к контейнерам данных, визуальным компонентам и событиям жизненного цикла экрана.
Основное использование
Чтобы запустить все загрузчики данных на событии BeforeShowEvent экрана, просто добавьте dataLoadCoordinator с атрибутом auto="true" в XML-дескриптор экрана:
<facets>
<dataLoadCoordinator auto="true"/>
</facets>
Режимы работы
dataLoadCoordinator можно настроить для работы в автоматическом, ручном или полуавтоматическом режиме.
Автоматический режим
В этом режиме dataLoadCoordinator полагается на имена параметров с определенными префиксами. Префикс обозначает компонент, который предоставляет значение параметра и событие его изменения.
По умолчанию префикс параметра - container_ для контейнеров данных и component_ для визуальных компонентов. Атрибуты componentPrefix и containerPrefix позволяют использовать другие префиксы.
Загрузчик запускается на BeforeShowEvent, если в его тексте запроса нет параметров без распознанных префиксов. Это означает, что если запрос содержит произвольный параметр, например select e from User e where e.department = :department, то загрузчик не будет запущен автоматически при открытии экрана. Необходимо установить значение параметра и вызвать userDl.load() вручную.
Параметры в условиях запроса не препятствуют запуску загрузчика на BeforeShowEvent.
Ручной режим
В этом режиме момент запуска загрузчиков данных определяют вложенные элементы refresh.
Атрибуты
|
Вы можете просматривать и редактировать атрибуты фасета в Jmix Studio используя панель испектора Jmix UI. |
-
auto- определяет рабочий режимDataLoadCoordinator. Значение по умолчанию -false.
-
componentPrefix- определяет префикс для параметров, которые относятся к визуальным компонентам, из которыхDataLoadCoordinatorбудет брать значения параметров в автоматическом режиме. Значение по умолчанию -component_.
-
containerPrefix- определяет префикс для параметров, которые относятся к контейнерам данных, из которыхDataLoadCoordinatorбудет брать значения параметров в автоматическом режиме. Значение по умолчанию -container_.
Элемент refresh
Элемент refresh позволяет определить условия, при которых должен быть запущен загрузчик данных.
Единственный атрибут этого элемента - loader, который определяет id загрузчика.
Элемент refresh может иметь следующие вложенные элементы, определяющие условия срабатывания загрузчика:
-
onComponentValueChanged- запуск загрузчика при изменении значение визуального компонента. Он имеет следующие атрибуты:-
component- указываетidвизуального компонента.
-
likeClause- если вы используете выражениеlikeв условии запроса, вы можете определить один из трех возможных режимов поиска:-
NONE- значение по умолчанию. -
CASE_SENSITIVE- поиск с учетом регистра символов. -
CASE_INSENSITIVE- поиск без учета регистра символов.
-
-
param- указывает имя параметра запроса.
-
-
onContainerItemChanged- запуск загрузчика, когда меняется текущий элемент в контейнере данных. Он имеет следующие атрибуты:-
container- указываетidконтейнера данных.
-
param- указывает имя параметра запроса.
-
-
onViewEvent- запуска загрузчика на событии жизненного цикла экрана. Он имеет следующий атрибут:-
type- определяет тип события экрана. Возможные значения:-
Init- для запуска на событииInitEvent. -
BeforeShow- для запуска на событииBeforeShowEvent. -
Ready- для запуска на событииReadyEvent.
-
-