3.5.4.8. ScreenFacet
ScreenFacet – это фасет, который обеспечивает возможность предварительной настройки открытия экранов и передачи параметров в экраны. Диалоговое описание экрана заменяет существующий метод ScreenBuilders.screen(). ScreenFacet определяется в элементе facets XML-дескриптора экрана.
XML-имя компонента: screen.
Пример использования:
<facets>
<screen id="testScreen"
screenId="sample_TestScreen"
onButton="openTestScreen">
<properties>
<property name="num" value="42"/>
</properties>
</screen>
</facets>
Экран, настроенный с помощью ScreenFacet, может быть показан явно с помощью метода show():
@Inject
protected ScreenFacet testScreen;
@Subscribe("showDialog")
public void onShowDialogClick(Button.ClickEvent event) {
testScreen.show();
}
Кроме того, фасет может быть подписан на действие (см. атрибут onAction) или кнопку (см. атрибут onButton) по идентификатору.
screen имеет следующие атрибуты:
-
screenId– задаёт идентификатор открываемого экрана.
-
screenClass– задаёт Java-класс контроллера открываемого экрана.
-
openMode– режим открытия экрана, задаваемый значением перечисленияOpenMode:NEW_TAB,DIALOG,NEW_WINDOW,ROOT,THIS_TAB. Значением по умолчанию являетсяNEW_TAB.
ScreenFacet может содержать элемент properties, представляющий собой список параметров, которые будут переданы в открываемый экран через публичные setter-методы контроллера. См. также Передача параметров в экраны.