decimalSlider

Начиная с Jmix 3.1

decimalSlider позволяет выбрать значение типа Double, перетаскивая ползунок по шкале. Ползунок также можно перемещать клавишами со стрелками.

Для значений типа Integer используйте integerSlider. Чтобы выбрать диапазон значений, используйте decimalRangeSlider.

XML-элемент

decimalSlider

Java-класс

JmixDecimalSlider

Основы

По умолчанию слайдер принимает значения от 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-элемент

validators

Предопределённые валидаторы

custom - doubleMax - doubleMin - negative - negativeOrZero - notNull - positive - positiveOrZero

Атрибуты

decimalSlider имеет следующие уникальные атрибуты:

Имя Описание По умолчанию

max

Задаёт максимальное значение слайдера. Значение больше max делает компонент недействительным. См. Диапазон и шаг.

100

min

Задаёт минимальное значение слайдера. Значение меньше min делает компонент недействительным. Пустой слайдер показывает это значение. См. Пустое значение.

0

minMaxVisible

Показывает значения min и max под шкалой.

false

step

Задаёт интервал между значениями, которые может выбрать пользователь. Шаг должен быть больше 0. См. Диапазон и шаг.

1

value

Задаёт значение компонента.

—

valueAlwaysVisible

Определяет, всегда ли отображается текущее значение над ползунком. Если false, значение видно, только пока пользователь взаимодействует со слайдером.

false

decimalSlider имеет следующие общие атрибуты:

Обработчики

decimalSlider имеет следующие уникальные обработчики:

Имя Описание

validator

Проверяет значение компонента.

decimalSlider имеет следующие общие обработчики:

Элементы

Компонент decimalSlider может содержать следующие вложенные элементы: tooltip и validators.

Смотрите также