Компонент TokenList
представляет собой упрощенный вариант работы со списком сущностей: названия экземпляров располагаются в вертикальном или
горизонтальном списке, добавление производится из выпадающего списка, удаление - с помощью кнопок, расположенных рядом с
каждым экземпляром.
XML-имя компонента: tokenList
Компонент реализован для блоков Web Client и Desktop Client.
Пример описания компонента TokenList
в XML-дескрипторе экрана:
<dsContext> <datasource id="orderDs" class="com.sample.sales.entity.Order" view="order-edit"> <collectionDatasource id="productsDs" property="products"/> </datasource> <collectionDatasource id="allProductsDs" class="com.sample.sales.entity.Product" view="_minimal"> <query>select p from sales$Product p order by p.name</query> </collectionDatasource> </dsContext> <layout> <tokenList id="productsList" datasource="productsDs" inline="true" width="500px"> <lookup optionsDatasource="allProductsDs"/> </tokenList>
Здесь в элементе dsContext
определен вложенный источник данных productsDs
, содержащий коллекцию входящих в состав заказа продуктов. Кроме того, определен источник данных allProductsDs
, содержащий коллекцию всех продуктов, имеющихся в базе данных. Компонент TokenList
с идентификатором productsList
отображает содержимое источника данных productsDs
, а также позволяет изменять эту коллекцию, добавляя в него экземпляры из источника данных allProductsDs
.
Атрибуты tokenList
:
-
position
- задает позиционирование раскрывающегося списка. Атрибут может принимать два значения:TOP
,BOTTOM
. По умолчаниюTOP
. -
Атрибут
inline
задает отображение списка выбранных значений: вертикально или горизонтально. Значениеtrue
соответствует горизонтальному расположению, значениеfalse
− вертикальному. Так выглядит компонент с горизонтальным расположением значений: -
simple
- значениеtrue
позволяет убрать компонент выбора, оставляя только кнопку добавления. При нажатии на кнопку добавления сразу показывается экран списка экземпляров сущности, тип которой задан источником данныхdatasource
. Идентификатор экрана выбора определяется по правилам, описанным для стандартного действияPickerField.LookupAction
.
Элементы tokenList
:
-
lookup
− описатель компонента выбора значений.Атрибуты элемента
lookup
:-
Атрибут
lookup
задает возможность выбора значений через экран выбора сущностей: -
Атрибут
lookupScreen
задает идентификатор экрана для выбора значений в режимеlookup="true"
. Если данный атрибут не задан, то идентификатор экрана выбора определяется по правилам, описанным для стандартного действияPickerField.LookupAction
. -
Атрибут
openType
можно задать способ открытия экрана выбора, аналогично описанному для стандартного действияPickerField.LookupAction
. По умолчанию -THIS_TAB
. -
Если значение атрибута
multiselect
установлено вtrue
, то в мэп параметров экрана выбора в ключеMULTI_SELECT
передается значениеtrue
. Этот признак можно использовать для установки в экране режима множественного выбора. Данный ключ определен в перечисленииWindowParams
, поэтому с ним удобно работать следующим образом:@Override public void init(Map<String, Object> params) { if (WindowParams.MULTI_SELECT.getBool(getContext())) { usersTable.setMultiSelect(true); } }
-
-
button
− описатель кнопки добавления значений. Может содержать атрибуты caption и icon.
Все атрибуты tokenList
:
caption | editable | inline | visible |
captionProperty | enable | position | width |
datasource | height | simple | |
description | id | stylename |
Элементы tokenList
:
Все атрибуты lookup:
Атрибуты button: