From f728c2b0061de54a124c3f4908a7ecd832aa3ab7 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 27 Sep 2017 14:25:56 +0300 Subject: [PATCH] Working on time tracker --- resources/views/tasks/time_tracker.blade.php | 2 +- .../tasks/time_tracker_knockout.blade.php | 20 ++++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/resources/views/tasks/time_tracker.blade.php b/resources/views/tasks/time_tracker.blade.php index f52825fbe8a5..bf750247a052 100644 --- a/resources/views/tasks/time_tracker.blade.php +++ b/resources/views/tasks/time_tracker.blade.php @@ -141,7 +141,7 @@
+ data-bind="event: { focus: onFilterFocus, input: onFilterChanged, keypress: onFilterKeyPress }, value: filter, valueUpdate: 'afterkeydown', attr: {placeholder: placeholder, style: filterStyle, disabled: formChanged }">
diff --git a/resources/views/tasks/time_tracker_knockout.blade.php b/resources/views/tasks/time_tracker_knockout.blade.php index 98d3fbc234f5..876747aa718e 100644 --- a/resources/views/tasks/time_tracker_knockout.blade.php +++ b/resources/views/tasks/time_tracker_knockout.blade.php @@ -124,13 +124,16 @@ if (task.isNew()) { self.selectedTask(false); self.removeTask(task); - $('.search').focus(); + // wait for it to be re-enabled + setTimeout(function() { + $('#search').focus(); + }, 1); } else { task.update(task.data); } self.formChanged(false); - }, "{{ trans('texts.discard_changes') }}"); + }, "{{ trans('texts.discard_changes') }}"); return false; } @@ -207,7 +210,11 @@ self.onStartClick = function() { if (self.selectedTask()) { - self.selectedTask().onStartClick(); + if (self.formChanged()) { + self.onSaveClick(); + } else { + self.selectedTask().onStartClick(); + } } else { var time = new TimeModel(); time.startTime(moment().unix()); @@ -223,6 +230,7 @@ self.selectedTask(task); self.addTask(task); model.refreshTitle(); + model.formChanged(true); self.filter(''); task.focus(); } @@ -616,6 +624,12 @@ return false; } + var selectedTask = model.selectedTask(); + if (model.formChanged() && selectedTask && selectedTask.public_id() && selectedTask.public_id() == self.public_id()) { + model.onSaveClick(); + return false; + } + if (self.isRunning()) { var time = self.lastTime(); time.endTime(moment().unix());