setRange method

void setRange(
  1. Jalali date
)

Implementation

void setRange(Jalali date) {
  if (_startSelectDate != null && _endSelectDate != null) {
    _startSelectDate = null;
    _endSelectDate = null;
  }
  if (_startSelectDate == null) {
    _startSelectDate = date;
    return;
  }
  if (_endSelectDate == null) {
    _endSelectDate = date;
    if (_endSelectDate!.distanceFrom(_selectedDate) < 0) {
      _endSelectDate = _startSelectDate;
      _startSelectDate = date;
    }
    DateTime day = _startSelectDate!.toDateTime();
    List<DateTime> days = [];
    while (day.isBefore(_endSelectDate!.addDays(1).toDateTime())) {
      days.add(day);
      day = day.add(const Duration(days: 1));
    }
    if (widget.onRangeSelected != null) {
      widget.onRangeSelected!(days);
    }
    return;
  }
  setState(() {});
}