showDatePicker static method

void showDatePicker(
  1. BuildContext context, {
  2. bool showTitleActions = true,
  3. int minYear = _kDefaultMinYear,
  4. int maxYear = _kDefaultMaxYear,
  5. int? initialYear,
  6. int? initialMonth,
  7. int? initialDay,
  8. Widget? cancel,
  9. Widget? confirm,
  10. DateChangedCallback? onChanged,
  11. DateChangedCallback? onConfirm,
  12. dynamic dateFormat = _kDateFormatDefault,
})

Implementation

static void showDatePicker(
  BuildContext context, {
  bool showTitleActions: true,
  int minYear: _kDefaultMinYear,
  int maxYear: _kDefaultMaxYear,
  int? initialYear,
  int? initialMonth,
  int? initialDay,
  Widget? cancel,
  Widget? confirm,
  DateChangedCallback? onChanged,
  DateChangedCallback? onConfirm,
  dateFormat: _kDateFormatDefault,
}) {
  if (dateFormat == null || dateFormat.length == 0) {
    dateFormat = _kDateFormatDefault;
  }

  PersianDate now = PersianDate();
  if (initialYear == null) {
    initialYear = now.year;
  }
  if (initialMonth == null) {
    initialMonth = now.month;
  }
  if (initialDay == null) {
    initialDay = now.day;
  }

  Navigator.push(
    context,
    new _DatePickerRoute(
      showTitleActions: showTitleActions,
      minYear: minYear,
      maxYear: maxYear,
      initialYear: initialYear,
      initialMonth: initialMonth,
      initialDate: initialDay,
      cancel: cancel,
      confirm: confirm,
      onChanged: onChanged,
      onConfirm: onConfirm,
      dateFormat: dateFormat,
      theme: Theme.of(context),
      barrierLabel:
          MaterialLocalizations.of(context).modalBarrierDismissLabel,
    ),
  );
}