getEventsGroupedByDate method

Map<DateTime, List<CalendarEvent>> getEventsGroupedByDate(
  1. DateTime start,
  2. DateTime end
)

Returns events grouped by date for the range from start to end.

Implementation

Map<DateTime, List<CalendarEvent>> getEventsGroupedByDate(
  DateTime start,
  DateTime end,
) {
  final map = <DateTime, List<CalendarEvent>>{};
  var current = CalendarDateUtils.dateOnly(start);
  final endDate = CalendarDateUtils.dateOnly(end);
  while (!current.isAfter(endDate)) {
    final dayEvents = getEventsForDate(current);
    if (dayEvents.isNotEmpty) {
      map[current] = dayEvents;
    }
    current = current.add(const Duration(days: 1));
  }
  return map;
}