This commit is contained in:
Hillel Coren 2018-12-25 10:28:51 +02:00
parent c56b32cc9e
commit cbc993385b
3 changed files with 26 additions and 21 deletions

View File

@ -55,7 +55,10 @@ class TaskFields {
abstract class TaskTime implements Built<TaskTime, TaskTimeBuilder> {
factory TaskTime({DateTime startDate, DateTime endDate}) {
return _$TaskTime._(
startDate: startDate ?? DateTime.now().toUtc(),
startDate: startDate ??
DateTime.fromMillisecondsSinceEpoch(
(DateTime.now().millisecondsSinceEpoch / 1000).floor() * 1000,
isUtc: true),
endDate: endDate,
);
}

View File

@ -47,7 +47,7 @@ class _TaskEditTimesState extends State<TaskEditTimes> {
final viewModel = widget.viewModel;
final task = viewModel.task;
final taskTime =
task.taskTimes.contains(viewModel.taskTime) ? viewModel.taskTime : null;
task.taskTimes.contains(viewModel.taskTime) ? viewModel.taskTime : null;
if (taskTime != null && taskTime != selectedTaskTime) {
selectedTaskTime = taskTime;
@ -71,12 +71,11 @@ class _TaskEditTimesState extends State<TaskEditTimes> {
final taskTimes = task.taskTimes
.toList()
.reversed
.map<Widget>((taskTime) =>
TaskTimeListTile(
task: task,
taskTime: taskTime,
onTap: (context) => _showTaskTimeEditor(taskTime, context),
));
.map<Widget>((taskTime) => TaskTimeListTile(
task: task,
taskTime: taskTime,
onTap: (context) => _showTaskTimeEditor(taskTime, context),
));
return ListView(
children: taskTimes.toList(),
@ -126,8 +125,7 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
return Padding(
padding: EdgeInsets.only(
bottom: MediaQuery
.of(context)
bottom: MediaQuery.of(context)
.viewInsets
.bottom, // stay clear of the keyboard
),
@ -157,17 +155,17 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
final date = DateTime.parse(_date);
final taskTime = TaskTime(
startDate: DateTime(
date.year,
date.month,
date.day,
_startTime.hour,
_startTime.minute,
widget.taskTime.startDate.second)
date.year,
date.month,
date.day,
_startTime.hour,
_startTime.minute,
widget.taskTime.startDate.second)
.toUtc(),
endDate: _endTime != null
? DateTime(date.year, date.month, date.day,
_endTime.hour, _endTime.minute)
.toUtc()
_endTime.hour, _endTime.minute)
.toUtc()
: null,
);
widget.viewModel
@ -193,8 +191,8 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
labelText: localization.endTime,
timeOfDay: widget.taskTime.endDate != null
? TimeOfDay(
hour: widget.taskTime.endDate.hour,
minute: widget.taskTime.endDate.minute)
hour: widget.taskTime.endDate.hour,
minute: widget.taskTime.endDate.minute)
: null,
onSelected: (timeOfDay) => _endTime = timeOfDay,
),

View File

@ -63,7 +63,11 @@ class TaskEditVM {
store.dispatch(UpdateCurrentRoute(TaskScreen.route));
}
},
onAddTimePressed: () => store.dispatch(AddTaskTime(TaskTime())),
onAddTimePressed: () {
final taskTime = TaskTime();
store.dispatch(AddTaskTime(taskTime));
store.dispatch(EditTaskTime(taskTime));
},
onSavePressed: (BuildContext context) {
final Completer<TaskEntity> completer = new Completer<TaskEntity>();
store.dispatch(SaveTaskRequest(completer: completer, task: task));