DatepickerPreset.lastWeek constructor
Create a DatepickerPreset for selecting "Last week".
startWeekday
is the 1-based first day of the week: e.g.
DateTime.monday (which equals 1) for Monday, DateTime.tuesday for
Tuesday, etc. It defaults to the first day of the week specified in the
current locale.
validStartWeekdays
is a list of all starting weekdays which will be
added as alternatives.
Implementation
factory DatepickerPreset.lastWeek(Clock clock,
{int? startWeekday, List<int>? validStartWeekdays}) {
startWeekday ??= _defaultStartWeekday;
validStartWeekdays =
_initValidStartWeekdays(startWeekday, validStartWeekdays);
late DatepickerPreset result;
List<DatepickerPreset> alternatives = [];
for (var startDay in validStartWeekdays) {
num endDay = 1 + ((startDay - 1) + 6).remainder(7);
var startDayName = _weekdayName(startDay);
var endDayName = _weekdayName(endDay as int);
var preset = DatepickerPreset(_lastWeekTitle(startDayName, endDayName),
WeekRange.weeksAgo(clock, 1, startWeekday: startDay),
shortTitle: _lastWeekShortTitle(startDayName, endDayName),
alternatives: alternatives);
alternatives.add(preset);
if (startDay == startWeekday) result = preset;
}
return result;
}