DatePickerDialog constructor
DatePickerDialog({
- Key? key,
- Jalali? initialDate,
- required Jalali firstDate,
- required Jalali lastDate,
- Jalali? currentDate,
- PersianDatePickerEntryMode initialEntryMode = PersianDatePickerEntryMode.calendar,
- PersianSelectableDayPredicate? selectableDayPredicate,
- String? cancelText,
- String? confirmText,
- String? helpText,
- PersianDatePickerMode initialCalendarMode = PersianDatePickerMode.day,
- String? errorFormatText,
- String? errorInvalidText,
- String? fieldHintText,
- String? fieldLabelText,
- TextInputType? keyboardType,
- String? restorationId,
- ValueChanged<
PersianDatePickerEntryMode> ? onDatePickerModeChange, - Icon? switchToInputEntryModeIcon,
- Icon? switchToCalendarEntryModeIcon,
A Material-style date picker dialog.
Implementation
DatePickerDialog({
super.key,
Jalali? initialDate,
required Jalali firstDate,
required Jalali lastDate,
Jalali? currentDate,
this.initialEntryMode = PersianDatePickerEntryMode.calendar,
this.selectableDayPredicate,
this.cancelText,
this.confirmText,
this.helpText,
this.initialCalendarMode = PersianDatePickerMode.day,
this.errorFormatText,
this.errorInvalidText,
this.fieldHintText,
this.fieldLabelText,
this.keyboardType,
this.restorationId,
this.onDatePickerModeChange,
this.switchToInputEntryModeIcon,
this.switchToCalendarEntryModeIcon,
}) : initialDate =
initialDate == null ? null : PersianDateUtils.dateOnly(initialDate),
firstDate = PersianDateUtils.dateOnly(firstDate),
lastDate = PersianDateUtils.dateOnly(lastDate),
currentDate = PersianDateUtils.dateOnly(currentDate ?? Jalali.now()) {
assert(
!this.lastDate.isBefore(this.firstDate),
'lastDate ${this.lastDate} must be on or after firstDate ${this.firstDate}.',
);
assert(
initialDate == null || !this.initialDate!.isBefore(this.firstDate),
'initialDate ${this.initialDate} must be on or after firstDate ${this.firstDate}.',
);
assert(
initialDate == null || !this.initialDate!.isAfter(this.lastDate),
'initialDate ${this.initialDate} must be on or before lastDate ${this.lastDate}.',
);
assert(
selectableDayPredicate == null ||
initialDate == null ||
selectableDayPredicate!(this.initialDate!),
'Provided initialDate ${this.initialDate} must satisfy provided selectableDayPredicate',
);
}