showHijriDatePicker function
Future<HijriCalendar?>
showHijriDatePicker({
- required BuildContext context,
- required HijriCalendar initialDate,
- required HijriCalendar firstDate,
- required HijriCalendar lastDate,
- SelectableDayPredicate? selectableDayPredicate,
- DatePickerMode initialDatePickerMode = DatePickerMode.day,
- Locale? locale,
- TextDirection? textDirection,
Implementation
Future<HijriCalendar?> showHijriDatePicker({
required BuildContext context,
required HijriCalendar initialDate,
required HijriCalendar firstDate,
required HijriCalendar lastDate,
SelectableDayPredicate? selectableDayPredicate,
DatePickerMode initialDatePickerMode: DatePickerMode.day,
Locale? locale,
TextDirection? textDirection,
}) async {
assert(
!initialDate.isBefore(firstDate.hYear, firstDate.hMonth, firstDate.hDay),
'initialDate must be on or after firstDate');
assert(!initialDate.isAfter(lastDate.hYear, lastDate.hMonth, lastDate.hDay),
'initialDate must be on or before lastDate');
assert(!firstDate.isAfter(lastDate.hYear, lastDate.hMonth, lastDate.hDay),
'lastDate must be on or after firstDate');
assert(selectableDayPredicate == null || selectableDayPredicate(initialDate),
'Provided initialDate must satisfy provided selectableDayPredicate');
Widget child = new HijriDatePickerDialog(
initialDate: initialDate,
firstDate: firstDate,
lastDate: lastDate,
selectableDayPredicate: selectableDayPredicate,
initialDatePickerMode: initialDatePickerMode,
);
if (textDirection != null) {
child = new Directionality(
textDirection: textDirection,
child: child,
);
}
if (locale != null) {
child = new Localizations.override(
context: context,
locale: locale,
child: child,
);
}
return showDialog<HijriCalendar>(
context: context,
builder: (BuildContext context) => child,
);
}