mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Working on time tracker
This commit is contained in:
parent
9fba49009c
commit
e0ac6cf2bf
@ -2467,6 +2467,7 @@ $LANG = array(
|
||||
'stopped' => 'Stopped',
|
||||
'ascending' => 'Ascending',
|
||||
'descending' => 'Descending',
|
||||
'sort_field' => 'Sort By',
|
||||
'sort_direction' => 'Direction',
|
||||
|
||||
);
|
||||
|
@ -234,13 +234,13 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6" style="padding-top:24px;">
|
||||
{!! Former::select('sort_by')
|
||||
{!! Former::select('sort_field')
|
||||
->addOption(trans('texts.date'), 'createdAt')
|
||||
->addOption(trans('texts.duration'), 'duration')
|
||||
->addOption(trans('texts.client'), 'client')
|
||||
->addOption(trans('texts.project'), 'project')
|
||||
->addOption(trans('texts.description'), 'description')
|
||||
->data_bind('value: sortBy, event: {change: onSortChange}') !!}
|
||||
->data_bind('value: sortField, event: {change: onSortChange}') !!}
|
||||
</div>
|
||||
<div class="col-md-6" style="padding-top:24px;">
|
||||
{!! Former::select('sort_direction')
|
||||
@ -478,7 +478,7 @@
|
||||
model.tock();
|
||||
|
||||
if (isStorageSupported()) {
|
||||
var taskId = localStorage.getItem('last:time_tracker_task');
|
||||
var taskId = localStorage.getItem('last:time_tracker:task_id');
|
||||
var task = model.taskById(taskId);
|
||||
if (task) {
|
||||
setTimeout(function() {
|
||||
|
@ -13,9 +13,16 @@
|
||||
self.selectedClient = ko.observable(false);
|
||||
self.selectedProject = ko.observable(false);
|
||||
|
||||
var defaultSortField = 'createdAt';
|
||||
var defaultSortDirection = 'descending';
|
||||
if (isStorageSupported()) {
|
||||
defaultSortField = localStorage.getItem('last:time_tracker:sort_field') || defaultSortField;
|
||||
defaultSortDirection = localStorage.getItem('last:time_tracker:sort_direction') || defaultSortDirection;
|
||||
}
|
||||
|
||||
self.filterState = ko.observable('all');
|
||||
self.sortBy = ko.observable('createdAt');
|
||||
self.sortDirection = ko.observable('descending');
|
||||
self.sortField = ko.observable(defaultSortField);
|
||||
self.sortDirection = ko.observable(defaultSortDirection);
|
||||
|
||||
self.isDesktop = function() {
|
||||
return navigator.userAgent == 'Time Tracker';
|
||||
@ -32,7 +39,10 @@
|
||||
}
|
||||
|
||||
self.onSortChange = function() {
|
||||
console.log('sort change...');
|
||||
if (isStorageSupported()) {
|
||||
localStorage.setItem('last:time_tracker:sort_field', self.sortField());
|
||||
localStorage.setItem('last:time_tracker:sort_direction', self.sortDirection());
|
||||
}
|
||||
}
|
||||
|
||||
self.onFilterClick = function(event) {
|
||||
@ -339,9 +349,10 @@
|
||||
|
||||
// sort the data
|
||||
tasks.sort(function (left, right) {
|
||||
var leftSortValue = left.sortValue(self.sortBy());
|
||||
var rightSortValue = right.sortValue(self.sortBy());
|
||||
if (self.sortBy() == 'createdAt' || self.sortBy() == 'duration') {
|
||||
var sortField = self.sortField();
|
||||
var leftSortValue = left.sortValue(sortField);
|
||||
var rightSortValue = right.sortValue(sortField);
|
||||
if (sortField == 'createdAt' || sortField == 'duration') {
|
||||
if (self.sortDirection() == 'descending') {
|
||||
return rightSortValue - leftSortValue
|
||||
} else {
|
||||
@ -394,7 +405,7 @@
|
||||
}
|
||||
|
||||
if (isStorageSupported()) {
|
||||
localStorage.setItem('last:time_tracker_task', task ? task.public_id() : 0);
|
||||
localStorage.setItem('last:time_tracker:task_id', task ? task.public_id() : 0);
|
||||
}
|
||||
|
||||
self.formChanged(false);
|
||||
@ -523,7 +534,7 @@
|
||||
self.update(response);
|
||||
model.formChanged(false);
|
||||
if (isStorageSupported()) {
|
||||
localStorage.setItem('last:time_tracker_task', self.public_id());
|
||||
localStorage.setItem('last:time_tracker:task_id', self.public_id());
|
||||
}
|
||||
if (isNew) {
|
||||
toastr.success("{{ trans('texts.created_task') }}");
|
||||
|
Loading…
x
Reference in New Issue
Block a user