openworktime/desktopapp/controllers.js
desktopapp/controllers.jsRaw
1
2angular.module('workApp', [])
3 .controller('workController', function(
4 $scope,
5 $interval
6 ) {
7 $scope.username="user";
8 //localStorage.clear();
9 $scope.working=false;
10 $scope.projects=[];
11 $scope.currentproject={};
12 if(localStorage.getItem("w_l_projects"))
13 {
14 $scope.projects=JSON.parse(localStorage.getItem("w_l_projects")); //w_local_
15 }
16 if($scope.projects.length>0)
17 {
18 $scope.newproject={
19 id: $scope.projects[$scope.projects.length-1].id+1
20 };
21 }else{
22 $scope.newproject={
23 id: 0
24 };
25 }
26 //$scope.newproject.id=$scope.projects[$scope.projects.length-1].id+1;
27 $scope.addNewProject = function(){
28 $scope.newproject.totaltime="0";
29 $scope.projects.push($scope.newproject);
30 localStorage.setItem("w_l_projects", angular.toJson($scope.projects));
31 $scope.newproject={
32 id: $scope.projects[$scope.projects.length-1].id+1
33 };
34 };
35 $scope.editingIndex="";
36 $scope.editProject = function(index){
37 $scope.editingIndex=index;
38 $scope.editingProject=angular.copy($scope.projects[index]);
39 };
40 $scope.cancelEditProject = function(){
41 $scope.editingProject=false;
42 };
43 $scope.updateProject = function(){
44 $scope.projects[$scope.editingIndex]=angular.copy($scope.editingProject);
45 $scope.currentproject=angular.copy($scope.editingProject);
46 $scope.editingProject=false;
47 };
48 $scope.removeProject = function(index){
49 $scope.projects.splice(index, 1);
50 localStorage.setItem("w_l_projects", angular.toJson($scope.projects));
51 };
52 $scope.projectSelect = function(index){
53 $scope.btnStop();
54 $scope.currentproject=$scope.projects[index];
55 };
56 var interval;
57 $scope.currentStrike=0;
58 $scope.btnWork = function(){
59 $scope.editingProject=false;
60 $scope.working=true;
61 $scope.currentStrike=0;
62 interval = $interval(function(){
63 $scope.currentStrike++;
64 $scope.currentproject.totaltime++;
65 }, 1000);
66 };
67 $scope.btnStop = function(){
68 $interval.cancel(interval);
69 $scope.working=false;
70 localStorage.setItem("w_l_projects", angular.toJson($scope.projects));
71
72 }
73
74 $scope.openCode = function(){
75 toastr.info("Visiting code");
76 var urlCode="https://github.com/idoctnef/openworktime";
77 if(typeof process !== 'undefined'){
78 console.log(process.versions['electron']);
79 const {shell} = require('electron');
80
81 shell.openExternal(urlCode);
82 }else{
83 window.open(urlCode);
84 }
85 };
86
87 })
88
89 .filter('secondsToDateTime', [function() {
90 return function(seconds) {
91 return new Date(2016, 0, 1).setSeconds(seconds);
92 };
93}]);