pickIntRanges method
Future<CloseRange?>
pickIntRanges(
{ - required CloseRange value,
- required int minValue,
- required int maxValue,
- required String label,
- required String title,
- int? divisions,
})
Implementation
Future<CloseRange?> pickIntRanges({
required CloseRange value,
required int minValue,
required int maxValue,
required String label,
required String title,
int? divisions,
}) async {
assert(maxValue > minValue);
return showColumn(
title: title,
ok: true,
cancel: true,
onContent: (uc) {
if (!uc.hasResult) {
uc.setResult(value);
}
CloseRange range = uc.getResult()!;
return ColumnMin([
RowMin([label.titleMedium(), space(width: 8), range.start.round().toString().titleMedium(), "-".text(), range.end.round().toString().titleMedium()]),
RangeSlider(
values: RangeValues(range.start.clamp(minValue, maxValue).toDouble(), range.end.clamp(minValue, maxValue).toDouble()),
min: minValue.toDouble(),
max: maxValue.toDouble(),
divisions: divisions ?? (maxValue - minValue),
onChanged: (v) {
uc.setResult(CloseRange(v.start.toInt(), v.end.toInt()));
uc.updateState();
},
labels: RangeLabels(range.start.round().toString(), range.end.round().toString()),
padding: xy(0, 8),
),
space(height: 8),
], crossAxisAlignment: CrossAxisAlignment.center);
},
);
}