Для построения пользовательского интерфейса WEDA Framework использует Tapestry версии 4.0
WEDA Framework поставляется со следующими компонентами:
Для того чтобы воспользоваться компонентами в вашем приложении необходимо зарегистрировать библиотеку компонентов WEDA Framework в конфигурационном файле приложения Tapestry:
<library id="weda" specification-path="/org/weda/tapestry/component/Weda.library"/>
Задача компонента - визуализация действий
Список действий который нужно визуализировать формируется следующим образом:
Параметры компонента ActionPanel
Название | Тип | Описание | Может быть пустым? |
---|---|---|---|
position | String | Определяет место расположения действий относительно
того что будет прорисовано в теле элемента шаблона страницы.
По умолчанию: literal:top
|
Да |
renderActionAsLink | boolean | Определяет способ отображения действий.
Если ognl:true тогда действия будут отображаться
в виде ссылок, иначе в виде кнопок
По умолчанию: ognl:false
|
Да |
actionContainers | Object[] | Добавляет контейнера действий дополнительно к найденым внутри тела элемента компонента в шаблоне страницы | Да |
actionParameters | Map<String, Object> | Позволяет задать значения параметров действия. Ключ ассоциативного массива это название параметра, а его значение - значение параметра. | Да |
style | String | HTML стиль компонента | Да |
Пример конфигурации:
<span jwcid="@weda:ActionPanel" position="top" renderActionAsLink="ognl:true"> <span jwcid="@weda:Table" tableModel="weda.table-model:moneyOperation-view"/> </span>
Внешний вид:
Задача компонента - показать ошибку возникшую при выолнение действия.
Компонент ActionPanel пользуется данным компонентом
Параметры компонента ActionError
Название | Тип | Описание | Может быть пустым? |
---|---|---|---|
actionPanel | org.weda.tapestry.component.ActionPanel | Задает панель действия ошибки которой нужно отображать | Нет |
Внешний вид:
Задача компонента - сгруппировать редакторы.
Параметры компонента EditorGroup
Название | Тип | Описание | Может быть пустым? |
---|---|---|---|
modelGroup | org.weda.model.EditorModelGroup | Задает название группы редактирования. Подробнее о моделя редактирования можно узнать в разделе Модели редактирования | Нет |
exceptionOnEditorError | boolean | Определяет нужно ли останавливать (с сообщением об ошибке)
устанавиливать значения
редакторов при возникновении ошибки установки значения
в одном из редакторов.
По умолчанию: ognl:false
|
Да |
Пример конфигурации:
<span jwcid="@weda:EditorGroup" modelGroup="weda.editor-model-group:operationItem-edit" > <table border="0" cellpadding="3px"> <tr> <td> <span jwcid="@weda:EditorLabel" modelName="itemName"/> </td> <td> <span jwcid="@weda:BaseEditor" modelName="itemName" cols="40"/> </td> <td> <span jwcid="@weda:EditorError" modelName="itemName"/> </td> </tr> <tr> <td> <span jwcid="@weda:EditorLabel" modelName="operationType"/> </td> <td> <span jwcid="@weda:BaseEditor" modelName="operationType" style="width:100%"/> </td> <td> <span jwcid="@weda:EditorError" modelName="operationType"/> </td> </tr> </table> </span>
Задача компонента - отображение названия модели редактирования
Компонент дожен использоваться в теле элемента компонента EditorGroup
Параметры компонента EditorLabel
Название | Тип | Описание | Может быть пустым? |
---|---|---|---|
modelName | String | Задает имя модели редактирования. В качестве названия модели будет выступать свойство displayName дескриптора свойства возвращаемого методом модели редактирования getPropertyDescriptor() | Нет |
style | String | HTML стиль компонента | Да |
Пример конфигурации:
<span jwcid="@weda:EditorLabel" modelName="itemName"/>
Внешний вид:
Задача компонента - редактирование значения модели редактирования
BaseEditor позволяет редактировать значение модели следующими способами:
valueEditorPageName
Компонент дожен использоваться в теле элемента компонента EditorGroup
Параметры компонента BaseEditor
Название | Тип | Описание | Может быть пустым? |
---|---|---|---|
modelName | String | Задает имя модели редактирования | Нет |
cols | int | Ширина поля редактора в символах. По умолчанию: 10 | Да |
rows | int | Количество строк в поле редактора. По умолчанию: 1 | Да |
valueEditorPageName | String | Название страницы в которой будет выбираться значение для редактора. По умолчанию: null | Да |
directValueSet | boolean | Если true тогда значение выбранное для
редактора на внешней странице напрямую установится
в значение модели.
|
Да |
style | String | HTML стиль компонента | Да |
Пример конфигурации:
<span jwcid="@weda:BaseEditor" modelName="operationItem" valueEditorPageName="OperationItemList" style="width:100%"/>
Внешний вид:
Простой редактор
Редактор с выпадающим списком
Редактор значение которого выбирается на другой странице
Задача компонента - установка в качестве значения модели, данных файла полученного от пользователя.
Компонент дожен использоваться в теле элемента компонента EditorGroup
Параметры компонента FileEditor
Название | Тип | Описание | Может быть пустым? |
---|---|---|---|
modelName | String | Задает имя модели редактирования | Нет |
style | String | HTML стиль компонента | Да |
Пример конфигурации:
<span jwcid="@weda:FileEditor" modelName="image" style="width:100%"/>
Внешний вид:
Задача компонента - отображение ошибки, возникшей при установки значения редактора.
Компонент дожен использоваться в теле элемента компонента EditorGroup
Параметры компонента EditorError
Название | Тип | Описание | Может быть пустым? |
---|---|---|---|
modelName | String | Задает имя модели редактирования для которой нужно отображать сообщение об ошибке установки значения | Нет |
style | String | HTML стиль компонента | Да |
Пример конфигурации:
<span jwcid="@weda:EditorError" modelName="amount"/>
Внешний вид:
Задача компонента - отображение данных табличной модели
Параметры компонента Table
Название | Тип | Описание | Может быть пустым? |
---|---|---|---|
tableModel | org.weda.model.TableModel | Задает табличную модель, данные которой необходимо отобразить | Нет |
Пример конфигурации:
<span jwcid="@weda:Table" tableModel="weda.table-model:moneyOperation-view"/>
Внешний вид:
Задача компонента - распределение данных по вкладкам
Параметры компонента TabPanel
Название | Тип | Описание | Может быть пустым? |
---|---|---|---|
tabNames | List<String> | Список названий блоков вкладок | Нет |
tabTitles | List<String> | Список названий вкладок | Нет |
Пример конфигурации:
<span jwcid="@weda:TabPanel" tabTitles="ognl:{'Документы в копии','Документы для которых нет копий'}" tabNames="ognl:{'tab1','tab2'}" /> <span jwcid="tab1@Block"> <span jwcid="@weda:ActionPanel" position="top" renderActionAsLink="ognl:true"> <table jwcid="@weda:Table" tableModel="weda.table-model:document-in_image-view" border="1"/> </span> </span> <span jwcid="tab2@Block"> <span jwcid="@weda:ActionPanel" position="top" renderActionAsLink="ognl:true"> <table jwcid="@weda:Table" tableModel="weda.table-model:document-without_image-view" border="1"/> </span> </span>
Внешний вид: