copyWith method

TimetableCallbacks copyWith({
  1. WeekTapCallback? onWeekTap,
  2. bool clearOnWeekTap = false,
  3. DateTapCallback? onDateTap,
  4. bool clearOnDateTap = false,
  5. DateTapCallback? onDateBackgroundTap,
  6. bool clearOnDateBackgroundTap = false,
  7. DateTimeTapCallback? onDateTimeBackgroundTap,
  8. bool clearOnDateTimeBackgroundTap = false,
  9. DateTapCallback? onMultiDateHeaderOverflowTap,
  10. bool clearOnMultiDateHeaderOverflowTap = false,
})

Implementation

TimetableCallbacks copyWith({
  WeekTapCallback? onWeekTap,
  bool clearOnWeekTap = false,
  DateTapCallback? onDateTap,
  bool clearOnDateTap = false,
  DateTapCallback? onDateBackgroundTap,
  bool clearOnDateBackgroundTap = false,
  DateTimeTapCallback? onDateTimeBackgroundTap,
  bool clearOnDateTimeBackgroundTap = false,
  DateTapCallback? onMultiDateHeaderOverflowTap,
  bool clearOnMultiDateHeaderOverflowTap = false,
}) {
  assert(!(clearOnWeekTap && onWeekTap != null));
  assert(!(clearOnDateTap && onDateTap != null));
  assert(!(clearOnDateBackgroundTap && onDateBackgroundTap != null));
  assert(!(clearOnDateTimeBackgroundTap && onDateTimeBackgroundTap != null));
  assert(
    !(clearOnMultiDateHeaderOverflowTap &&
        onMultiDateHeaderOverflowTap != null),
  );

  return TimetableCallbacks(
    onWeekTap: clearOnWeekTap ? null : onWeekTap ?? this.onWeekTap,
    onDateTap: clearOnDateTap ? null : onDateTap ?? this.onDateTap,
    onDateBackgroundTap: clearOnDateBackgroundTap
        ? null
        : onDateBackgroundTap ?? this.onDateBackgroundTap,
    onDateTimeBackgroundTap: clearOnDateTimeBackgroundTap
        ? null
        : onDateTimeBackgroundTap ?? this.onDateTimeBackgroundTap,
    onMultiDateHeaderOverflowTap: clearOnMultiDateHeaderOverflowTap
        ? null
        : onMultiDateHeaderOverflowTap ?? this.onMultiDateHeaderOverflowTap,
  );
}