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

new({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),
    );