Working on time tracker

This commit is contained in:
Hillel Coren 2017-09-19 18:26:01 +03:00
parent d3ab0a522e
commit 9b7d2cb832

View File

@ -202,7 +202,12 @@
self.clock = ko.observable(0); self.clock = ko.observable(0);
self.onSaveClick = function() { self.onSaveClick = function() {
if (! model.selectedTask()) {
return;
}
var data = $('#taskForm').serialize(); var data = $('#taskForm').serialize();
var times = model.selectedTask().times();
data += '&time_log=' + JSON.stringify(times);
var url = '{{ url('/tasks') }}'; var url = '{{ url('/tasks') }}';
$.ajax({ $.ajax({
dataType: 'json', dataType: 'json',
@ -379,14 +384,17 @@
return data.data ? new ProjectModel(data.data) : null; return data.data ? new ProjectModel(data.data) : null;
} }
}, },
'ignore': [
'time_log'
]
} }
self.update = function(data) { self.update = function(data) {
var times = JSON.parse(data.time_log); var times = JSON.parse(data.time_log);
data.time_log = false; data.time_log = false;
ko.mapping.fromJS(data, self.mapping, this); ko.mapping.fromJS(data, self.mapping, this);
self.time_log = ko.observableArray(); self.time_log.removeAll();
for (var i=0; i<times.length; i++) { for (var i=0; i<times.length; i++) {
self.time_log.push(new TimeModel(times[i])); self.time_log.push(new TimeModel(times[i]));
} }
} }
@ -407,6 +415,17 @@
self.time_log.push(time); self.time_log.push(time);
} }
self.times = function() {
var times = [];
for (var i=0; i<self.time_log().length; i++) {
var timeLog = self.time_log()[i];
if (! timeLog.isEmpty()) {
times.push([timeLog.startTime(),timeLog.endTime()]);
}
}
return times;
}
self.matchesFilter = function(filter) { self.matchesFilter = function(filter) {
filter = filter.toLowerCase(); filter = filter.toLowerCase();
var parts = filter.split(' '); var parts = filter.split(' ');