This commit is contained in:
Hillel Coren 2018-12-25 19:53:08 +02:00
parent ac82e3fef0
commit 9db80f16eb
3 changed files with 14 additions and 4 deletions

View File

@ -138,6 +138,10 @@ abstract class TaskEntity extends Object
int get duration; int get duration;
bool get areTimesValid {
final times = taskTimes;
}
List<TaskTime> get taskTimes { List<TaskTime> get taskTimes {
final List<TaskTime> details = []; final List<TaskTime> details = [];
@ -158,6 +162,8 @@ abstract class TaskEntity extends Object
details.add(taskTime); details.add(taskTime);
}); });
details.sort((timeA, timeB) => timeA.startDate.compareTo(timeB.startDate));
return details; return details;
} }

View File

@ -199,8 +199,9 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
selectedDate: _startDate, selectedDate: _startDate,
onSelected: (timeOfDay) { onSelected: (timeOfDay) {
_startDate = timeOfDay; _startDate = timeOfDay;
_durationController.text = _durationController.text = _endDate != null
formatDuration(_endDate.difference(_startDate)); ? formatDuration(_endDate.difference(_startDate))
: '';
}, },
), ),
TimePicker( TimePicker(
@ -209,8 +210,9 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
selectedDate: _endDate, selectedDate: _endDate,
onSelected: (timeOfDay) { onSelected: (timeOfDay) {
_endDate = timeOfDay; _endDate = timeOfDay;
_durationController.text = _durationController.text = _endDate != null
formatDuration(_endDate.difference(_startDate)); ? formatDuration(_endDate.difference(_startDate))
: '';
}, },
), ),
PopupMenuButton<int>( PopupMenuButton<int>(

View File

@ -69,6 +69,8 @@ class TaskEditVM {
store.dispatch(EditTaskTime(taskTime)); store.dispatch(EditTaskTime(taskTime));
}, },
onSavePressed: (BuildContext context) { onSavePressed: (BuildContext context) {
final Completer<TaskEntity> completer = new Completer<TaskEntity>(); final Completer<TaskEntity> completer = new Completer<TaskEntity>();
store.dispatch(SaveTaskRequest(completer: completer, task: task)); store.dispatch(SaveTaskRequest(completer: completer, task: task));
return completer.future.then((savedTask) { return completer.future.then((savedTask) {