kDefaultInitialDateSelectionStrategy function
InternalDateTime
kDefaultInitialDateSelectionStrategy({
- required ViewController oldViewController,
- required ViewConfiguration newViewConfiguration,
General default strategy that routes to appropriate specific strategies
Implementation
InternalDateTime kDefaultInitialDateSelectionStrategy({
required ViewController oldViewController,
required ViewConfiguration newViewConfiguration,
}) {
return switch (newViewConfiguration) {
MonthViewConfiguration _ =>
kDefaultToMonthly(oldViewController: oldViewController, newViewConfiguration: newViewConfiguration),
ScheduleViewConfiguration _ =>
kDefaultToSchedule(oldViewController: oldViewController, newViewConfiguration: newViewConfiguration),
final MultiDayViewConfiguration viewConfig => switch (viewConfig.type) {
MultiDayViewType.custom when viewConfig.numberOfDays == 1 =>
kDefaultToDaily(oldViewController: oldViewController, newViewConfiguration: newViewConfiguration),
MultiDayViewType.freeScroll when viewConfig.numberOfDays == 1 =>
kDefaultToDaily(oldViewController: oldViewController, newViewConfiguration: newViewConfiguration),
MultiDayViewType.singleDay =>
kDefaultToDaily(oldViewController: oldViewController, newViewConfiguration: newViewConfiguration),
_ => kDefaultToWeekly(oldViewController: oldViewController, newViewConfiguration: newViewConfiguration),
},
// kDefaultToWeekly(oldViewController: oldViewController, newViewConfiguration: newViewConfiguration),
_ => kDefaultToDaily(oldViewController: oldViewController, newViewConfiguration: newViewConfiguration),
};
}