Working on time tracker

This commit is contained in:
Hillel Coren 2017-09-18 14:00:19 +03:00
parent 3c0415f8bd
commit 136b0c7c73

View File

@ -250,14 +250,23 @@
}); });
self.filteredTasks = ko.computed(function() { self.filteredTasks = ko.computed(function() {
// filter the data
if(! self.filter()) { if(! self.filter()) {
return self.tasks(); var tasks = self.tasks();
} else { } else {
var filtered = ko.utils.arrayFilter(self.tasks(), function(task) { var filtered = ko.utils.arrayFilter(self.tasks(), function(task) {
return task.matchesFilter(self.filter()); return task.matchesFilter(self.filter());
}); });
return filtered.length == 0 ? self.tasks() : filtered; var tasks = filtered.length == 0 ? self.tasks() : filtered;
} }
// sort the data
tasks.sort(function (left, right) {
return right.firstTime().order() - left.firstTime().order()
});
return tasks;
}); });
self.addTask = function(task) { self.addTask = function(task) {
@ -340,8 +349,7 @@
self.onStartClick = function() { self.onStartClick = function() {
if (self.isRunning()) { if (self.isRunning()) {
var times = self.time_log(); var time = self.lastTime();
var time = times[times.length-1];
time.endTime(moment().unix()); time.endTime(moment().unix());
} else { } else {
var time = new TimeModel(); var time = new TimeModel();
@ -385,14 +393,23 @@
}); });
self.description.truncated = ko.computed(function() { self.description.truncated = ko.computed(function() {
return truncate(self.description(), 80); return truncate(self.description(), 50);
}); });
self.firstTime = function() {
return self.time_log()[0];
}
self.lastTime = function() {
var times = self.time_log();
return times[times.length-1];
}
self.age = ko.computed(function() { self.age = ko.computed(function() {
if (! self.time_log().length) { if (! self.time_log().length) {
return ''; return '';
} }
var time = self.time_log()[0]; var time = self.firstTime();
return time.age(); return time.age();
}); });
@ -401,8 +418,7 @@
if (! self.time_log().length) { if (! self.time_log().length) {
return '0:00:00'; return '0:00:00';
} }
var times = self.time_log(); var time = self.lastTime();
var time = times[times.length - 1];
var now = new Date().getTime(); var now = new Date().getTime();
var duration = 0; var duration = 0;
if (time.isRunning()) { if (time.isRunning()) {
@ -495,6 +511,10 @@
self.endTime(data[1]); self.endTime(data[1]);
}; };
self.order = ko.computed(function() {
return self.startTime();
});
self.isEmpty = ko.computed(function() { self.isEmpty = ko.computed(function() {
return !self.startTime() && !self.endTime(); return !self.startTime() && !self.endTime();
}); });