XML-дескриптор экрана
Дескриптор экрана – это файл формата XML, декларативно описывающий визуальные компоненты, компоненты данных и некоторые параметры экрана.
Используйте дизайнер экранов Studio чтобы конфигурировать XML-дескрипторы. |
Например, рассмотрим XML-дескриптор экрана редактирования:
<window xmlns="http://jmix.io/schema/ui/window"
focusComponent="demoForm"
caption="msg://window.caption">
<data>
<instance id="orderDc"
class="ui.ex1.entity.Order">
<fetchPlan extends="_base"/>
<loader/>
</instance>
</data>
<facets>
<dataLoadCoordinator auto="true"/>
<screenSettings id="settingsFacet" auto="true"/>
</facets>
<actions>
<action id="windowCommitAndClose" caption="msg:///actions.Ok"
icon="EDITOR_OK"
primary="true"
shortcut="${COMMIT_SHORTCUT}"/>
<action id="windowClose"
caption="msg:///actions.Close"
icon="EDITOR_CANCEL"/>
</actions>
<dialogMode height="600"
width="800"/>
<layout spacing="true" expand="editActions">
<form id="demoForm" dataContainer="orderDc">
<column width="350px">
<timeField id="deliveryTimeField" property="deliveryTime"/>
<textField id="ratingField" property="rating"/>
<dateField id="dateField" property="date"/>
<textField id="amountField" property="amount"/>
</column>
</form>
<hbox id="editActions" spacing="true">
<button id="commitAndCloseBtn" action="windowCommitAndClose"/>
<button id="closeBtn" action="windowClose"/>
</hbox>
</layout>
</window>
Корневой элемент window
содержит следующие атрибуты:
-
messagesGroup
- произвольная группа сообщений, связанная с этим окном. Если атрибутmessagesGroup
не определен, сообщения загружаются из пакета, связанного с этим классом экрана. -
class
− имя контроллера. -
caption
− заголовок экрана, который может содержать ссылку на сообщение из вышеуказанного пакета. -
focusComponent
− идентификатор компонента, который получит фокус ввода при отображении экрана. -
icon
- значок окна. -
extend
- используется для расширения UI.
Элементы дескриптора:
-
data
− описывает компоненты данных экрана. -
facets
- определяет список фасетов для экрана. -
actions
- определяет список действий для экрана. -
dialogMode
- определяет параметры геометрии и поведения экрана при открытии его в виде диалогового окна.Атрибуты элемента
dialogMode
:-
closeable
- определяет наличие в диалоговом окне кнопки закрытия. Возможные значения:true
,false
. -
closeOnClickOutside
- определяет возможность закрыть окно кликом по окружающей области, если диалог открыт в модальном режиме. Возможные значения:true
,false
. -
forceDialog
- указывает, что экран всегда должен открываться в виде диалога. Возможные значения:true
,false
. -
height
- устанавливает высоту диалогового окна. -
modal
- устанавливает модальный режим диалогового окна. Возможные значения:true
,false
. -
positionX
- задает положение левого верхнего угла диалога по оси x. -
positionY
- задает положение левого верхнего угла диалога по оси y. -
resizable
- определяет возможность пользователя изменять размеры диалога. Возможные значения:true
,false
. -
width
- устанавливает ширину диалогового окна.<dialogMode height="600" width="800" positionX="200" positionY="200" forceDialog="true" resizable="true"/>
-
-
actions
– определяет список действий данного экрана. -
facets
– определяет список фасетов данного экрана. -
layout
− корневой элемент компоновки экрана. -
layout
- корневой элемент компоновки экрана.