Узел: web
Узел: web/theme , тип: list
Конфигурация тем.
Пример:
<root>
<web>
<theme>
<mytheme parent="web/theme/base" jsclass="Jc.theme.Ide">
<item name="ext-all.css" path="/js/ext4/resources/css/ext-all-gray.css"/>
</mytheme>
</theme>
</web>
</root>
Узел: web/theme/THEME-NAME
Описание темы. Имя узла - имя темы
Атрибут: web/theme/THEME-NAME:jsclass, тип: jsclass
Имя js-класса с клиентской частью темы.
Узел: web/theme/THEME-NAME/item , тип: list
Список css/js/gsp, которые нужны для темы. Каждый элемент может иметь дочерние item.
Узел: web/theme/THEME-NAME/item/ITEM-NAME
css
Атрибут: web/theme/THEME-NAME/item/ITEM-NAME:path, тип: path
Виртуальный путь до css/js/gsp файла
Атрибут: web/theme/THEME-NAME/item/ITEM-NAME:pathDebug, тип: path
Виртуальный путь до css/js/gsp файла, который нужно использовать вместо path в отладочном режиме
Узел: model
Узел: model/MODEL-NAME
Узел: model/MODEL-NAME/field
Узел: model/MODEL-NAME/field/FIELD-NAME
Атрибут: model/MODEL-NAME/field/FIELD-NAME:visible, тип: bool
true - поле видимое для автогенерируемого интерфейса
Атрибут: model/MODEL-NAME/field/FIELD-NAME:editable, тип: bool
true - поле редактируемое для автогенерируемого интерфейса
Атрибут: model/MODEL-NAME/field/FIELD-NAME:weight, тип: int
Вес поля (по умолчанию 50).
Когда структура домена отдается клиенту, все поля сортируются в
соотвествии с весом. Для полей с одинаковым весом, используется
сортировка по индексу. Манипулирую свойством поля weight, можно
установить некоторый «порядок полей по умолчанию» для домена.
Узел: model/MODEL-NAME/field/FIELD-NAME/js
Все атрибуты и дочерние узлы отсюда наложатся на json, который описывает структуру поля, передаваемую клиенту. Пример:
<root>
<domain name="MyDomain" parent="id">
<field name="field1" parent="long">
<js title="Field1 Title">
<input jsclass="Cbdict" width="large"/>
<column jsclass="Dict"/>
<datalabel jsclass="Dict"/>
</js>
</field>
</domain>
</root>
Узел: model/MODEL-NAME/field/FIELD-NAME/js/column
Описание свойств колонки гриды для этого поля
Атрибут: model/MODEL-NAME/field/FIELD-NAME/js/column:jsclass, тип: string
javascript класс колонки. Можно указывать как полное имя класса,
например Jc.column.String, так и имя класса внутри пакета Jc.column,
например String.
Узел: model/MODEL-NAME/field/FIELD-NAME/js/input
Описание свойств поля ввода для этого поля
Атрибут: model/MODEL-NAME/field/FIELD-NAME/js/input:jsclass, тип: string
javascript класс поля ввода. Можно указывать как полное имя класса,
например Jc.input.String, так и имя класса внутри пакета Jc.input,
например String.
Узел: model/MODEL-NAME/field/FIELD-NAME/js/datalabel
Описание свойств метки с данными для этого поля
Атрибут: model/MODEL-NAME/field/FIELD-NAME/js/datalabel:jsclass, тип: string
javascript класс метки с данными. Можно указывать как полное имя класса,
например Jc.datalabel.String, так и имя класса внутри пакета Jc.datalabel,
например String.
Узел: model/MODEL-NAME/domain
Узел: model/MODEL-NAME/domain/DOMAIN-NAME
Узел: model/MODEL-NAME/domain/DOMAIN-NAME/js
Все атрибуты и дочерние узлы отсюда наложатся на json, который описывает структуру домена, передаваемую клиенту. Пример:
<root>
<domain name="MyDomain" parent="id">
<field name="field1" parent="long"/>
<js title="MyDomain json title">
<customData value1="1" value2="2"/>
</js>
</domain>
</root>