work strikes chart functionality implemented

This commit is contained in:
nau
2016-09-05 11:23:39 +02:00
parent a152fd84db
commit a572462e82
48 changed files with 274 additions and 90 deletions

View File

@@ -1,5 +1,5 @@
angular.module('workApp', [])
angular.module('workApp', ['chart.js'])
.controller('workController', function(
$scope,
$interval
@@ -16,11 +16,21 @@ angular.module('workApp', [])
if($scope.projects.length>0)
{
$scope.newproject={
id: $scope.projects[$scope.projects.length-1].id+1
id: $scope.projects[$scope.projects.length-1].id+1,
chart: {
labels: [],
series: ['Working time'],
data: []
}
};
}else{
$scope.newproject={
id: 0
id: 0,
chart: {
labels: [],
series: ['Working time'],
data: []
}
};
}
//$scope.newproject.id=$scope.projects[$scope.projects.length-1].id+1;
@@ -29,7 +39,12 @@ angular.module('workApp', [])
$scope.projects.push($scope.newproject);
localStorage.setItem("w_l_projects", angular.toJson($scope.projects));
$scope.newproject={
id: $scope.projects[$scope.projects.length-1].id+1
id: $scope.projects[$scope.projects.length-1].id+1,
chart: {
labels: [],
series: ['Working time'],
data: []
}
};
};
$scope.editingIndex="";
@@ -48,6 +63,7 @@ angular.module('workApp', [])
$scope.removeProject = function(index){
$scope.projects.splice(index, 1);
localStorage.setItem("w_l_projects", angular.toJson($scope.projects));
$scope.projectSelect(0);
};
$scope.projectSelect = function(index){
$scope.btnStop();
@@ -66,8 +82,15 @@ angular.module('workApp', [])
};
$scope.btnStop = function(){
$interval.cancel(interval);
$scope.working=false;
localStorage.setItem("w_l_projects", angular.toJson($scope.projects));
if($scope.working==true)
{
$scope.working=false;
$scope.currentproject.chart.labels.push("work strike " + $scope.currentproject.chart.labels.length);
$scope.currentproject.chart.data.push($scope.currentStrike);
localStorage.setItem("w_l_projects", angular.toJson($scope.projects));
}
}
@@ -84,6 +107,16 @@ angular.module('workApp', [])
}
};
//chart
/*$scope.chart={
labels: ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
series: ['Working time', 'Series B'],
data: [
[65, 59, 80, 81, 56, 55, 40],
[28, 48, 40, 19, 86, 27, 90]
]
};*/
})
.filter('secondsToDateTime', [function() {

View File

@@ -23,7 +23,7 @@
<nav>
<div class="nav-wrapper blue-grey darken-1">
<a href="#" class="brand-logo">Open Work Time - local version</a>
<a href="#" class="brand-logo">Open Work Time <small>- offline version</small></a>
<ul id="nav-mobile" class="right">
<li>
<a ng-click="openCode()" target="_blank">
@@ -110,6 +110,14 @@
<!--<a class="waves-effect waves-light btn deep-orange lighten-2">Stop working!</a>-->
</div>
<div class="divider"></div>
<div class="card-content">
<!-- here the charts -->
<canvas id="bar" class="chart chart-bar"
chart-data="currentproject.chart.data" chart-labels="currentproject.chart.labels" chart-series="currentproject.chart.series">
</canvas>
</div>
</div>
<div ng-show="!currentproject.title" class="card blue-grey lighten-4 col s12 m7 l7" style="height: 200px;">
<span class="card-title">
@@ -130,6 +138,14 @@ Works for both browser and electron with the same code -->
<!-- ANGULAR -->
<script src="libraries/angular.min.js"></script>
<!-- ANGULAR CHART JS -->
<script src="node_modules/chart.js/dist/Chart.min.js"></script>
<script src="node_modules/angular-chart.js/dist/angular-chart.min.js"></script>
<!-- FILESAVER JS -->
<script src="node_modules/file-saver/FileSaver.min.js"></script>
<!--Import jQuery before materialize.js-->
<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="js/materialize.min.js"></script>

View File

@@ -10,7 +10,7 @@ let mainWindow
function createWindow () {
// Create the browser window.
mainWindow = new BrowserWindow({width: 1100, height: 650})
mainWindow = new BrowserWindow({width: 1100, height: 800})
mainWindow.setMenu(null);

View File

@@ -24,5 +24,8 @@
"homepage": "https://github.com/idoctnef/openworktime",
"devDependencies": {
"electron-prebuilt": "^1.2.0"
},
"dependencies": {
"angular-chart.js": "^1.0.2"
}
}