showOmniDateTimePicker function

Future<DateTime?> showOmniDateTimePicker({
  1. required BuildContext context,
  2. Widget? title,
  3. Widget? separator,
  4. DateTime? initialDate,
  5. DateTime? firstDate,
  6. DateTime? lastDate,
  7. bool? is24HourMode,
  8. bool? isShowSeconds,
  9. int? minutesInterval,
  10. int? secondsInterval,
  11. bool? isForce2Digits,
  12. BorderRadiusGeometry? borderRadius,
  13. BoxConstraints? constraints,
  14. Widget transitionBuilder(
    1. BuildContext,
    2. Animation<double>,
    3. Animation<double>,
    4. Widget,
    )?,
  15. Duration? transitionDuration,
  16. bool? barrierDismissible,
  17. OmniDateTimePickerType type = OmniDateTimePickerType.dateAndTime,
  18. bool selectableDayPredicate(
    1. DateTime
    )?,
  19. ThemeData? theme,
})

Show dialog of the OmniDateTimePicker

Returns a DateTime

Implementation

Future<DateTime?> showOmniDateTimePicker({
  required BuildContext context,
  Widget? title,
  Widget? separator,
  DateTime? initialDate,
  DateTime? firstDate,
  DateTime? lastDate,
  bool? is24HourMode,
  bool? isShowSeconds,
  int? minutesInterval,
  int? secondsInterval,
  bool? isForce2Digits,
  BorderRadiusGeometry? borderRadius,
  BoxConstraints? constraints,
  Widget Function(BuildContext, Animation<double>, Animation<double>, Widget)?
      transitionBuilder,
  Duration? transitionDuration,
  bool? barrierDismissible,
  OmniDateTimePickerType type = OmniDateTimePickerType.dateAndTime,
  final bool Function(DateTime)? selectableDayPredicate,
  ThemeData? theme,
}) {
  return showGeneralDialog(
    context: context,
    transitionBuilder: transitionBuilder ??
        (context, anim1, anim2, child) {
          return FadeTransition(
            opacity: anim1.drive(
              Tween(
                begin: 0,
                end: 1,
              ),
            ),
            child: child,
          );
        },
    transitionDuration: transitionDuration ?? const Duration(milliseconds: 200),
    barrierDismissible: barrierDismissible ?? true,
    barrierLabel: 'OmniDateTimePicker',
    pageBuilder: (BuildContext context, anim1, anim2) {
      return Theme(
        data: theme ?? Theme.of(context),
        child: OmniDateTimePicker(
          separator: separator,
          title: title,
          type: type,
          initialDate: initialDate,
          firstDate: firstDate,
          lastDate: lastDate,
          is24HourMode: is24HourMode,
          isShowSeconds: isShowSeconds,
          minutesInterval: minutesInterval,
          secondsInterval: secondsInterval,
          isForce2Digits: isForce2Digits,
          borderRadius: borderRadius,
          constraints: constraints,
          selectableDayPredicate: selectableDayPredicate,
        ),
      );
    },
  );
}