@@ -17,6 +17,7 @@ function createGraph(combiData, plainData, singleDayData, canvas){
1717 var minDate = Number . MAX_SAFE_INTEGER ;
1818 var maxDate = Number . MIN_SAFE_INTEGER ;
1919 var allCategories = { }
20+ var allNames = { }
2021 plainData . forEach ( data => {
2122 if ( data . begin < minDate ) {
2223 minDate = data . begin ;
@@ -27,25 +28,36 @@ function createGraph(combiData, plainData, singleDayData, canvas){
2728 if ( ! allCategories . hasOwnProperty ( data . category ) ) {
2829 allCategories [ data . category ] = 0 ;
2930 }
31+ if ( ! allNames . hasOwnProperty ( data . name ) ) {
32+ allNames [ data . name ] = 0 ;
33+ }
3034 } ) ;
35+ if ( Object . keys ( allCategories ) . length === 1 ) {
36+ var catsColumn = 'name' ;
37+ var allCats = allNames ;
38+ }
39+ else {
40+ var catsColumn = 'category' ;
41+ var allCats = allCategories ;
42+ }
3143
3244 // fill (empty) categories in each day
3345 let plotdata = { } ;
3446 let plotdataLabels = [ ] ;
3547 for ( let timestamp = minDate ; timestamp <= maxDate ; timestamp += 86400 ) {
3648 let label = getLabelFromTimestamp ( timestamp ) ;
37- plotdata [ label ] = Object . assign ( { } , allCategories ) ;
49+ plotdata [ label ] = Object . assign ( { } , allCats ) ;
3850 plotdataLabels . push ( label )
3951 }
4052 let lastLabel = getLabelFromTimestamp ( maxDate ) ;
4153 if ( ! plotdata . hasOwnProperty ( lastLabel ) ) {
42- plotdata [ lastLabel ] = Object . assign ( { } , allCategories ) ;
54+ plotdata [ lastLabel ] = Object . assign ( { } , allCats ) ;
4355 plotdataLabels . push ( lastLabel )
4456 }
4557
4658 // fill with data
4759 plainData . forEach ( data => {
48- plotdata [ getLabelFromTimestamp ( data . begin ) ] [ data . category ] += data . duration ;
60+ plotdata [ getLabelFromTimestamp ( data . begin ) ] [ data [ catsColumn ] ] += data . duration ;
4961 } ) ;
5062
5163 // convert to hours
0 commit comments