rangeSliderBuilder function
A FormFieldBuilder that is used as the default FastRangeSlider.builder.
Returns an InputDecorator that contains a RangeSlider on any TargetPlatform.
Implementation
Widget rangeSliderBuilder(FormFieldState<RangeValues> field) {
field as FastRangeSliderState;
final FastRangeSliderState(
:decoration,
:didChange,
:enabled,
:value!,
:widget
) = field;
final prefix = widget.prefixBuilder?.call(field);
final suffix = widget.suffixBuilder?.call(field);
final rangeSlider = Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
if (prefix is Widget) prefix,
Expanded(
child: RangeSlider(
activeColor: widget.activeColor,
divisions: widget.divisions,
inactiveColor: widget.inactiveColor,
labels: widget.labelsBuilder?.call(field),
max: widget.max,
min: widget.min,
mouseCursor: widget.mouseCursor,
onChanged: enabled ? didChange : null,
onChangeEnd: widget.onChangeEnd,
onChangeStart: widget.onChangeStart,
overlayColor: widget.overlayColor,
semanticFormatterCallback: widget.semanticFormatterCallback,
values: value,
),
),
if (suffix is Widget) suffix,
],
);
if (widget.showInputDecoration) {
return InputDecorator(
decoration: decoration,
child: rangeSlider,
);
}
return rangeSlider;
}