integerSlider
Начиная с Jmix 3.1
integerSlider позволяет выбрать значение типа Integer, перетаскивая ползунок по шкале. Ползунок также можно перемещать клавишами со стрелками.
Для значений типа Double используйте decimalSlider. Чтобы выбрать диапазон значений, используйте integerRangeSlider.
XML-элемент |
|
|---|---|
Java-класс |
|
Основы
По умолчанию слайдер принимает значения от 0 до 100 с шагом 1. Пример использования integerSlider:
<integerSlider id="integerSlider" label="IntegerSlider" width="20em" value="50"/>
integerSlider связанный с данными
Привязка данных означает связывание визуального компонента с контейнером данных. Изменения в визуальном компоненте или соответствующем контейнере данных могут вызывать обновления друг друга. Смотрите Использование компонентов данных для получения дополнительной информации.
Следующий пример создаёт integerSlider, связанный с данными. Атрибут сущности должен быть типа Integer.
<data>
<instance id="customerDc"
class="io.jmix.uisamples.entity.Customer"
fetchPlan="_local"/>
</data>
<layout>
<integerSlider id="ageSlider" label="Slider connected to a container" width="20em"
min="0" max="100" step="1"
minMaxVisible="true"
dataContainer="customerDc" property="age"/>
</layout>
Контейнер экземпляра customerDc хранит сущность Customer. Атрибуты dataContainer и property связывают компонент с её атрибутом age.
Слайдер отправляет новое значение на сервер, когда пользователь отпускает ползунок. Чтобы значение отправлялось на каждом шаге перетаскивания, установите для атрибута valueChangeMode значение EAGER.
Пустое значение
Слайдер не может показать пустое значение. Когда значения нет, ползунок стоит на значении min, но слайдер считается пустым:
-
Если связанный атрибут равен
null, слайдер показываетmin, но не записывает его в сущность, и DataContext не регистрирует изменение. Атрибут получает значение, только когда пользователь передвигает ползунок или значение задаётся в коде. -
Слайдер, не связанный с данными, остаётся пустым, пока пользователь не передвинет ползунок или значение не будет задано в коде.
-
Вызов
clear()илиsetValue(null)перемещает ползунок вminи делает слайдер пустым. Слайдер, связанный с данными, также записывает в атрибутnull.
Пока значения нет, метод isEmpty() возвращает true, хотя getValue() возвращает min, а валидаторы получают null. Если для слайдера задан атрибут required, слайдер без значения не проходит валидацию.
Диапазон и шаг
Атрибуты min и max задают диапазон значений, а step — интервал между ними. Значения, которые может выбрать пользователь, отсчитываются от min: min, min + step, min + 2 * step и так далее.
<integerSlider id="stepSlider" label="With min, max and step" width="20em"
min="0" max="50" step="5" value="20"
minMaxVisible="true"
helperText="Values from 0 to 50 with a step of 5"/>
Отображение значения
По умолчанию слайдер показывает текущее значение в пузырьке над ползунком, только пока пользователь взаимодействует с ним. Установите для атрибута valueAlwaysVisible значение true, чтобы значение было видно всегда.
Атрибут minMaxVisible показывает значения min и max под шкалой, как в примере выше.
Валидация
Чтобы проверить значение integerSlider, вы можете использовать валидатор во вложенном элементе validators. Валидаторы запускаются при каждом изменении значения.
Доступны следующие предопределённые валидаторы для integerSlider:
XML-элемент |
|
|---|---|
Предопределённые валидаторы |
custom - digits - max - min - negativeOrZero - negative - notNull - positiveOrZero - positive |
Атрибуты
integerSlider имеет следующие уникальные атрибуты:
| Имя | Описание | По умолчанию |
|---|---|---|
Задаёт максимальное значение слайдера. Значение больше |
|
|
Задаёт минимальное значение слайдера. Значение меньше |
|
|
Показывает значения |
|
|
Задаёт интервал между значениями, которые может выбрать пользователь. Шаг должен быть больше 0. См. Диапазон и шаг. |
|
|
Задаёт значение компонента. |
— |
|
Определяет, всегда ли отображается текущее значение над ползунком. Если |
|
integerSlider имеет следующие общие атрибуты:
id - alignSelf - ariaLabel - ariaLabelledBy - classNames - colspan - css - dataContainer - enabled - errorMessage - focusShortcut - height - helperText - justifySelf - label - maxHeight - maxWidth - minHeight - minWidth - property - readOnly - required - requiredMessage - tabIndex - valueChangeMode - valueChangeTimeout - visible - width
Обработчики
integerSlider имеет следующие уникальные обработчики:
| Имя | Описание |
|---|---|
Проверяет значение компонента. |
integerSlider имеет следующие общие обработчики:
Элементы
Компонент integerSlider может содержать следующие вложенные элементы: tooltip и validators.