3.5.4.9. EditorScreenFacet
EditorScreenFacet
– это фасет, который обеспечивает возможность предварительной настройки экрана редактирования. Декларативное описание экрана редактирования заменяет существующий метод ScreenBuilders.editor()
. EditorScreenFacet
определяется в элементе facets
XML-дескриптора экрана.
XML-имя компонента: editorScreen
.
Пример использования:
<facets>
<editorScreen id="userEditor"
openMode="DIALOG"
editMode="CREATE"
entityClass="com.haulmont.cuba.security.entity.User"
onAction="action"/>
</facets>
Экран, настроенный с помощью EditorScreenFacet
, может быть показан явно с помощью метода show()
:
@Inject
protected EditorScreenFacet userEditor;
@Subscribe("showDialog")
public void onShowDialogClick(Button.ClickEvent event) {
userEditor.show();
}
Кроме того, фасет может быть подписан на действие (см. атрибут onAction) или кнопку (см. атрибут onButton) по идентификатору.
editorScreen
имеет следующие атрибуты:
-
addFirst
– определяет, будет ли новый элемент добавлен в начало или в конец коллекции. Влияет только на самостоятельные контейнеры; для вложенных контейнеров новые элементы всегда добавляются в конец.
-
container
– устанавливает CollectionContainer. Контейнер обновляется после коммита экрана. Если контейнер является вложенным, фреймворк автоматически инициализирует ссылку на родительскую сущность и настраивает контекст данных для редактирования композиций.
-
editMode
– задает режим редактирования экрана, задаваемый значением перечисленияEditMode
:CREATE
(для создания нового экземпляра сущности) илиEDIT
(для редактирования существующего).
-
entityClass
– полное имя класса сущности.
-
field
– задает идентификатор компонента PickerField. Если это поле задано, фреймворк устанавливает закоммиченную сущность в качестве значения поля после успешного коммита экрана редактирования.
-
listComponent
– задает идентификатор компонента списка. Компонент используется для получения контейнера, если он не установлен. Обычно компонент списка представляет собой таблицу или DataGrid, отображающую список сущностей.
- Атрибуты editorScreen
-
addFirst - container - editMode - entityClass - field - id - listComponent onAction - onButton - openMode - screenClass - screenId
- Элементы editorScreen