@@ -38,18 +38,38 @@ $(document).ready(function() {
3838 dataset . push ( data . datasets [ i ] . name ) ;
3939 processedData . push ( dataset . concat ( data . datasets [ i ] . data ) ) ;
4040 }
41+ var totals = new Array ( ) ;
42+ totals . push ( "Total" ) ;
43+ for ( var j = 0 ; j < data . datasets [ 0 ] . data . length ; j ++ ) {
44+ var total = 0 ;
45+ for ( var i = 0 ; i < data . datasets . length ; i ++ ) {
46+ total += parseInt ( data . datasets [ i ] . data [ j ] ) ;
47+ }
48+ totals . push ( total ) ;
49+ }
50+ processedData . push ( totals ) ;
4151 return processedData ;
4252 }
4353
54+ function maxY ( data ) {
55+ var maxi = 0 ;
56+ for ( var j = 0 ; j < data . datasets [ 0 ] . data . length ; j ++ ) {
57+ for ( var i = 0 ; i < data . datasets . length ; i ++ ) {
58+ maxi = Math . max ( maxi , parseInt ( data . datasets [ i ] . data [ j ] ) ) ;
59+ }
60+ }
61+ return maxi ;
62+ }
63+
4464
4565 // AJAX to get scan line chart data
4666 $ . ajax ( {
4767 url : loris . BaseURL + '/statistics/charts/scans_bymonth' ,
4868 type : 'get' ,
4969 success : function ( data ) {
50- let lengendNames = [ ] ;
70+ let legendNames = [ ] ;
5171 for ( let j = 0 ; j < data . datasets . length ; j ++ ) {
52- lengendNames . push ( data . datasets [ j ] . name ) ;
72+ legendNames . push ( data . datasets [ j ] . name ) ;
5373 }
5474 let scanLineData = formatLineData ( data ) ;
5575 scanLineChart = c3 . generate ( {
@@ -74,6 +94,7 @@ $(document).ready(function() {
7494 }
7595 } ,
7696 y : {
97+ max : maxY ( data ) ,
7798 label : 'Scans'
7899 }
79100 } ,
@@ -87,7 +108,7 @@ $(document).ready(function() {
87108 d3 . select ( '.scanChartLegend' )
88109 . insert ( 'div' , '.scanChart' )
89110 . attr ( 'class' , 'legend' )
90- . selectAll ( 'div' ) . data ( lengendNames ) . enter ( )
111+ . selectAll ( 'div' ) . data ( legendNames ) . enter ( )
91112 . append ( 'div' )
92113 . attr ( 'data-id' , function ( id ) {
93114 return id ;
@@ -119,9 +140,9 @@ $(document).ready(function() {
119140 url : loris . BaseURL + '/statistics/charts/siterecruitment_line' ,
120141 type : 'get' ,
121142 success : function ( data ) {
122- let lengendNames = [ ] ;
143+ let legendNames = [ ] ;
123144 for ( let j = 0 ; j < data . datasets . length ; j ++ ) {
124- lengendNames . push ( data . datasets [ j ] . name ) ;
145+ legendNames . push ( data . datasets [ j ] . name ) ;
125146 }
126147 let recruitmentLineData = formatLineData ( data ) ;
127148 recruitmentLineChart = c3 . generate ( {
@@ -146,6 +167,7 @@ $(document).ready(function() {
146167 }
147168 } ,
148169 y : {
170+ max : maxY ( data ) ,
149171 label : 'Candidates registered'
150172 }
151173 } ,
@@ -159,7 +181,7 @@ $(document).ready(function() {
159181 d3 . select ( '.recruitmentChartLegend' )
160182 . insert ( 'div' , '.recruitmentChart' )
161183 . attr ( 'class' , 'legend' )
162- . selectAll ( 'div' ) . data ( lengendNames ) . enter ( )
184+ . selectAll ( 'div' ) . data ( legendNames ) . enter ( )
163185 . append ( 'div' )
164186 . attr ( 'data-id' , function ( id ) {
165187 return id ;
0 commit comments