FCalendarMonthPickerController constructor

FCalendarMonthPickerController({
  1. required DateTime start,
  2. required DateTime end,
  3. required bool selectable(
    1. DateTime
    ),
  4. required DateTime initial,
  5. DateTime? focused,
})

Implementation

FCalendarMonthPickerController({
  required super.start,
  required super.end,
  required super.selectable,
  required super.initial,
  super.focused,
}) : super(
       columns: _columns,
       focusable: (year, date) {
         final preferred = DateTime.utc(year.year, date.month);
         if (selectable(preferred)) {
           return preferred;
         }

         for (var month = DateTime.utc(year.year); month.year == year.year; month = month.plus(months: 1)) {
           if (selectable(month)) {
             return month;
           }
         }

         return null;
       },
       step: (date, amount) => date.plus(months: amount),
       from: (date) => date.year - start.year,
       to: (page) => .utc(start.year + page),
     );