DateTimePickerModel constructor
DateTimePickerModel({
- DateTime? currentTime,
- DateTime? maxTime,
- DateTime? minTime,
- LocaleType? locale,
Implementation
DateTimePickerModel(
{DateTime? currentTime,
DateTime? maxTime,
DateTime? minTime,
LocaleType? locale})
: super(locale: locale) {
if (currentTime != null) {
this.currentTime = currentTime;
if (maxTime != null && currentTime.isBefore(maxTime)) {
this.maxTime = maxTime;
}
if (minTime != null && currentTime.isAfter(minTime)) {
this.minTime = minTime;
}
} else {
this.maxTime = maxTime;
this.minTime = minTime;
var now = DateTime.now();
if (this.minTime != null && this.minTime!.isAfter(now)) {
this.currentTime = this.minTime!;
} else if (this.maxTime != null && this.maxTime!.isBefore(now)) {
this.currentTime = this.maxTime!;
} else {
this.currentTime = now;
}
}
if (this.minTime != null &&
this.maxTime != null &&
this.maxTime!.isBefore(this.minTime!)) {
this.minTime = null;
this.maxTime = null;
}
_currentIndex[0] = 0;
_currentIndex[1] = this.currentTime.hour;
_currentIndex[2] = this.currentTime.minute;
if (this.minTime != null && isAtSameDay(this.minTime, this.currentTime)) {
_currentIndex[1] = this.currentTime.hour - this.minTime!.hour;
if (_currentIndex[1] == 0) {
_currentIndex[2] = this.currentTime.minute - this.minTime!.minute;
}
}
}