decimalSlider
Начиная с Jmix 3.1
decimalSlider позволяет выбрать значение типа Double, перетаскивая ползунок по шкале. Ползунок также можно перемещать клавишами со стрелками.
Для значений типа Integer используйте integerSlider. Чтобы выбрать диапазон значений, используйте decimalRangeSlider.
XML-элемент |
|
|---|---|
Java-класс |
|
Основы
По умолчанию слайдер принимает значения от 0 до 100 с шагом 1. Задайте в атрибуте step дробное число, чтобы пользователь мог выбирать дробные значения.
Пример decimalSlider, который принимает значения от 0 до 1 с шагом 0,1:
<decimalSlider id="decimalSlider" label="DecimalSlider" width="20em"
min="0" max="1" step="0.1" value="0.5"
valueAlwaysVisible="true"
helperText="The value bubble is always visible"/>
decimalSlider связанный с данными
Привязка данных означает связывание визуального компонента с контейнером данных. Изменения в визуальном компоненте или соответствующем контейнере данных могут вызывать обновления друг друга. Смотрите Использование компонентов данных для получения дополнительной информации.
Чтобы связать decimalSlider с атрибутом сущности, используйте атрибуты dataContainer и property. Атрибут сущности должен быть типа Double.
Слайдер отправляет новое значение на сервер, когда пользователь отпускает ползунок. Чтобы значение отправлялось на каждом шаге перетаскивания, установите для атрибута 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 и так далее. Смотрите пример выше.
Значение за пределами диапазона может прийти из связанного атрибута или из кода. Слайдер не заменяет его на min или max, а оставляет как есть и показывает ошибку валидации. Значение проверяют валидаторы doubleMin и doubleMax, которые добавляются автоматически и обновляются при изменении min или max.
Отображение значения
По умолчанию слайдер показывает текущее значение в пузырьке над ползунком, только пока пользователь взаимодействует с ним. Установите для атрибута valueAlwaysVisible значение true, чтобы значение было видно всегда, как в примере выше.
Атрибут minMaxVisible показывает значения min и max под шкалой.
Валидация
Чтобы проверить значение decimalSlider, вы можете использовать валидатор во вложенном элементе validators. Валидаторы запускаются при каждом изменении значения.
Доступны следующие предопределённые валидаторы для decimalSlider:
XML-элемент |
|
|---|---|
Предопределённые валидаторы |
custom - doubleMax - doubleMin - negative - negativeOrZero - notNull - positive - positiveOrZero |
Атрибуты
decimalSlider имеет следующие уникальные атрибуты:
| Имя | Описание | По умолчанию |
|---|---|---|
Задаёт максимальное значение слайдера. Значение больше |
|
|
Задаёт минимальное значение слайдера. Значение меньше |
|
|
Показывает значения |
|
|
Задаёт интервал между значениями, которые может выбрать пользователь. Шаг должен быть больше 0. См. Диапазон и шаг. |
|
|
Задаёт значение компонента. |
— |
|
Определяет, всегда ли отображается текущее значение над ползунком. Если |
|
decimalSlider имеет следующие общие атрибуты:
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
Обработчики
decimalSlider имеет следующие уникальные обработчики:
| Имя | Описание |
|---|---|
Проверяет значение компонента. |
decimalSlider имеет следующие общие обработчики:
Элементы
Компонент decimalSlider может содержать следующие вложенные элементы: tooltip и validators.