showAdaptiveDatePicker function
Future<NepaliDateTime?>
showAdaptiveDatePicker({
- required BuildContext context,
- required NepaliDateTime initialDate,
- required NepaliDateTime firstDate,
- required NepaliDateTime lastDate,
- Language language = Language.english,
- DateOrder dateOrder = DateOrder.mdy,
- DatePickerMode initialDatePickerMode = DatePickerMode.day,
Shows nepali date picker of style that adapts as per the platform.
Implementation
Future<NepaliDateTime?> showAdaptiveDatePicker({
required BuildContext context,
required NepaliDateTime initialDate,
required NepaliDateTime firstDate,
required NepaliDateTime lastDate,
Language language = Language.english,
/// Only for iOS
DateOrder dateOrder = DateOrder.mdy,
/// Only for Android and Fuchsia
DatePickerMode initialDatePickerMode = DatePickerMode.day,
}) async {
assert(firstDate.year >= 1970 && lastDate.year <= 2100,
'Invalid Date Range. Valid Range = [1970, 2100]');
assert(!initialDate.isBefore(firstDate),
'initialDate must be on or after firstDate');
assert(!initialDate.isAfter(lastDate),
'initialDate must be on or before lastDate');
assert(
!firstDate.isAfter(lastDate), 'lastDate must be on or after firstDate');
final theme = Theme.of(context);
switch (theme.platform) {
case TargetPlatform.android:
case TargetPlatform.fuchsia:
case TargetPlatform.linux:
case TargetPlatform.windows:
return await showMaterialDatePicker(
context: context,
firstDate: firstDate,
lastDate: lastDate,
initialDate: initialDate,
initialDatePickerMode: initialDatePickerMode,
);
case TargetPlatform.iOS:
case TargetPlatform.macOS:
return await _showCupertinoDatePicker(
context: context,
initialDate: initialDate,
firstDate: firstDate,
lastDate: lastDate,
language: language,
dateOrder: dateOrder,
);
}
}