DateController constructor
DateController({
- DateTime? initialDate,
- VisibleDateRange? visibleRange,
Implementation
DateController({
DateTime? initialDate,
VisibleDateRange? visibleRange,
}) : assert(initialDate.debugCheckIsValidTimetableDate()),
// We set the correct value in the body below.
super(DatePageValueWithScrollActivity(
visibleRange ?? VisibleDateRange.week(),
0,
const IdleDateScrollActivity(),
)) {
// The correct value is set via the listener when we assign to our value.
_date = ValueNotifier(DateTimeTimetable.dateFromPage(0));
addListener(() => _date.value = value.date);
// The correct value is set via the listener when we assign to our value.
_visibleDates = ValueNotifier(Interval(DateTime(0), DateTime(0)));
addListener(() => _visibleDates.value = value.visibleDates);
final rawStartPage = initialDate?.page ?? DateTimeTimetable.today().page;
value = value.copyWithActivity(
page: value.visibleRange.getTargetPageForFocus(rawStartPage),
activity: const IdleDateScrollActivity(),
);
}