From 67ba4c9a11a236dfa5a9b5f9098a6f478178349b Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 19 Sep 2017 21:33:07 +0300 Subject: [PATCH] Working on time tracker --- resources/views/time_tracker.blade.php | 71 ++++++++++++++++++-------- 1 file changed, 49 insertions(+), 22 deletions(-) diff --git a/resources/views/time_tracker.blade.php b/resources/views/time_tracker.blade.php index dd551c080df1..6c2d2d9f1bb0 100644 --- a/resources/views/time_tracker.blade.php +++ b/resources/views/time_tracker.blade.php @@ -365,15 +365,29 @@ } self.selectTask = function(task) { - //self.filter(''); - self.selectedTask(task); + + //self.selectedTask(new TaskModel()); + + refreshProjectList(true); // ensure all projects are shown + self.selectedTask(task); + if (! task.project()) { + $('select#client_id').trigger('change'); + } + //$('select#client_id').trigger('change'); + + /* + $('select#client_id').trigger('change') + var publicId = task.project() ? task.project().public_id() : 0; + var name = task.project() ? task.project().name() : ''; + setComboboxValue($('.project-select'), publicId, name); + */ } } function TaskModel(data) { var self = this; self.public_id = ko.observable(); - self.description = ko.observable('test'); + self.description = ko.observable(''); self.time_log = ko.observableArray(); self.client_id = ko.observable(); self.project_id = ko.observable(); @@ -560,6 +574,7 @@ function ProjectModel(data) { var self = this; self.name = ko.observable(''); + self.public_id = ko.observable(0); if (data) { ko.mapping.fromJS(data, {}, this); @@ -698,13 +713,35 @@ */ } + function refreshProjectList(forceClear) { + var clientId = $('input[name=client_id]').val(); + $projectCombobox = $('select#project_id'); + $projectCombobox.find('option').remove().end().combobox('refresh'); + $projectCombobox.append(new Option('', '')); + @if (Auth::user()->can('create', ENTITY_PROJECT)) + if (clientId) { + $projectCombobox.append(new Option("{{ trans('texts.create_project')}}: $name", '-1')); + } + @endif + + var list = (clientId && ! forceClear) ? (projectsForClientMap.hasOwnProperty(clientId) ? projectsForClientMap[clientId] : []).concat(projectsForAllClients) : projects; + + for (var i=0; ican('create', ENTITY_PROJECT)) - if (clientId) { - $projectCombobox.append(new Option("{{ trans('texts.create_project')}}: $name", '-1')); - } - @endif - var list = clientId ? (projectsForClientMap.hasOwnProperty(clientId) ? projectsForClientMap[clientId] : []).concat(projectsForAllClients) : projects; - for (var i=0; i