showPlatformDatePicker function
Future<DateTime?>
showPlatformDatePicker({
- required BuildContext context,
- required DateTime initialDate,
- required DateTime firstDate,
- required DateTime lastDate,
- PlatformBuilder<
MaterialDatePickerData> ? material, - PlatformBuilder<
CupertinoDatePickerData> ? cupertino, - DatePickerContentBuilder? cupertinoContentBuilder,
Implementation
Future<DateTime?> showPlatformDatePicker({
required BuildContext context,
required DateTime initialDate,
required DateTime firstDate,
required DateTime lastDate,
PlatformBuilder<MaterialDatePickerData>? material,
PlatformBuilder<CupertinoDatePickerData>? cupertino,
DatePickerContentBuilder? cupertinoContentBuilder,
}) async {
if (isMaterial(context)) {
final data = material?.call(context, platform(context));
return await showDatePicker(
context: context,
initialDate: data?.initialDate ?? initialDate,
firstDate: data?.firstDate ?? firstDate,
lastDate: data?.lastDate ?? lastDate,
builder: data?.builder,
confirmText: data?.confirmText,
currentDate: data?.currentDate,
errorFormatText: data?.errorFormatText,
errorInvalidText: data?.errorInvalidText,
fieldHintText: data?.fieldHintText,
fieldLabelText: data?.fieldLabelText,
helpText: data?.helpText,
initialDatePickerMode: data?.initialDatePickerMode ?? DatePickerMode.day,
initialEntryMode: data?.initialEntryMode ?? DatePickerEntryMode.calendar,
locale: data?.locale,
routeSettings: data?.routeSettings,
selectableDayPredicate: data?.selectableDayPredicate,
textDirection: data?.textDirection,
useRootNavigator: data?.useRootNavigator ?? true,
cancelText: data?.cancelText,
anchorPoint: data?.anchorPoint,
keyboardType: data?.keyboardType,
onDatePickerModeChange: data?.onDatePickerModeChange,
switchToCalendarEntryModeIcon: data?.switchToCalendarEntryModeIcon,
switchToInputEntryModeIcon: data?.switchToInputEntryModeIcon,
barrierColor: data?.barrierColor,
barrierDismissible: data?.barrierDismissible ?? true,
barrierLabel: data?.barrierLabel,
);
} else {
final data = cupertino?.call(context, platform(context));
final contentData = DatePickerContentData(
initialDate: data?.initialDate ?? initialDate,
firstDate: data?.firstDate ?? firstDate,
lastDate: data?.lastDate ?? lastDate,
selectedDate: data?.initialDate ?? initialDate,
);
return await _showDateModalBottomSheet<DateTime?>(
context,
cupertinoContentBuilder?.call(
contentData,
data,
) ??
_renderManagedCupertinoDatePicker(
data: data,
initialDate: initialDate,
firstDate: firstDate,
lastDate: lastDate,
),
);
}
}