datePicker method

Future<void> datePicker({
  1. DateTime? withDate,
  2. DateTime? minDate,
  3. DateTime? maxDate,
  4. DateTime? currentDate,
  5. String? cancelText,
  6. String? confirmText,
  7. String? helpText,
  8. String? errorFormatText,
  9. String? errorInvalidText,
  10. String? fieldHintText,
  11. String? fieldLabelText,
  12. DatePickerEntryMode entryMode = DatePickerEntryMode.calendar,
  13. DatePickerMode calenderMode = DatePickerMode.day,
  14. SelectableDayPredicate? selectableDayPredicate,
  15. Locale? locale,
  16. bool useRootNavigator = true,
  17. RouteSettings? routeSettings,
  18. TransitionBuilder? builder,
  19. required void onPick(
    1. DateTime date
    ),
  20. VoidCallback? onCancel,
})

Implementation

Future<void> datePicker({
  DateTime? withDate,
  DateTime? minDate,
  DateTime? maxDate,
  DateTime? currentDate,
  String? cancelText,
  String? confirmText,
  String? helpText,
  String? errorFormatText,
  String? errorInvalidText,
  String? fieldHintText,
  String? fieldLabelText,
  DatePickerEntryMode entryMode = DatePickerEntryMode.calendar,
  DatePickerMode calenderMode = DatePickerMode.day,
  SelectableDayPredicate? selectableDayPredicate,
  Locale? locale,
  bool useRootNavigator = true,
  RouteSettings? routeSettings,
  TransitionBuilder? builder,
  required void Function(DateTime date) onPick,
  VoidCallback? onCancel,
}) async {
  final date = await showDatePicker(
    context: context!,
    initialDate: withDate ?? Date.now,
    firstDate: minDate ?? Date.from(year: 2000),
    lastDate: maxDate ?? Date.now,
    currentDate: currentDate,
    cancelText: cancelText,
    confirmText: confirmText,
    helpText: helpText,
    errorFormatText: errorFormatText,
    errorInvalidText: errorInvalidText,
    fieldHintText: fieldHintText,
    fieldLabelText: fieldLabelText,
    initialEntryMode: entryMode,
    initialDatePickerMode: calenderMode,
    selectableDayPredicate: selectableDayPredicate,
    locale: locale,
    useRootNavigator: useRootNavigator,
    routeSettings: routeSettings,
    builder: builder,
  );
  if (date != null) {
    onPick(withDate?.setting(date: date) ?? date);
  } else {
    onCancel?.call();
  }
}