addEventInSortedManner method

void addEventInSortedManner(
  1. CalendarEventData<T> event, [
  2. EventSorter<T>? sorter
])

Implementation

void addEventInSortedManner(
  CalendarEventData<T> event, [
  EventSorter<T>? sorter,
]) {
  var addIndex = -1;

  for (var i = 0; i < this.length; i++) {
    var result = (sorter ?? defaultEventSorter).call(event, this[i]);
    if (result <= 0) {
      addIndex = i;
      break;
    }
  }

  if (addIndex > -1) {
    insert(addIndex, event);
  } else {
    add(event);
  }
}