3.5.2.1.7. CheckBox
Флажок (CheckBox
) − компонент, имеющий два состояния: выбран, не выбран.
XML-имя компонента: checkBox
.
Пример флажка с надписью, взятой из пакета локализованных сообщений:
<checkBox id="accessField" caption="msg://accessFieldCaption"/>
Сброс или установка флажка изменяет его значение: Boolean.TRUE
или Boolean.FALSE
. Значение может быть получено с помощью метода getValue()
и установлено с помощью метода setValue()
. Если в setValue()
передать null
, то устанавливается значение Boolean.FALSE
и флажок снимается.
Изменение значения флажка, так же как и любого другого компонента, реализующего интерфейс Field
, можно отслеживать с помощью слушателя ValueChangeListener
. Источник события ValueChangeEvent
можно отследить с помощью метода isUserOriginated(). Например:
@Inject
private CheckBox accessField;
@Inject
private Notifications notifications;
@Subscribe
protected void onInit(InitEvent event) {
accessField.addValueChangeListener(valueChangeEvent -> {
if (Boolean.TRUE.equals(valueChangeEvent.getValue())) {
notifications.create()
.withCaption("set")
.show();
} else {
notifications.create()
.withCaption("not set")
.show();
}
});
}
Для создания флажка, связанного с данными, необходимо использовать атрибуты dataContainer и property.
<data>
<instance id="customerDc" class="com.company.sales.entity.Customer" view="_local">
<loader/>
</instance>
</data>
<layout>
<checkBox dataContainer="customerDc" property="active"/>
</layout>
Как видно из примера, в экране описывается data container customerDs
для некоторой сущности Покупатель (Customer
), имеющей атрибут active
. В компоненте checkBox
в атрибуте dataContainer
указывается ссылка на контейнер данных, а в атрибуте property
− название атрибута сущности, значение которого должно быть отображено флажком. Атрибут должен быть типа Boolean
. Значением атрибута может быть null
, при этом флажок снимается.
Внешний вид компонента CheckBox
можно настроить с помощью переменных SCSS с префиксом $cuba-checkbox-*
. Эти переменные можно изменить в визуальном редакторе после расширения темы или создания новой темы.
- Атрибуты checkBox
-
align - caption - captionAsHtml - contextHelpText - contextHelpTextHtmlEnabled - css - dataContainer - description - descriptionAsHtml - editable - enable - box.expandRatio - height - htmlSanitizerEnabled - icon - id - property - stylename - tabIndex - visible - width
- API
-
addValueChangeListener commit - discard - isModified - setContextHelpIconClickHandler