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-методы контроллера. См. также Передача параметров в экраны.


Атрибуты screen

id - onAction - onButton - openMode - screenClass - screenId

Элементы screen

properties