| @@ -147,8 +147,10 @@ | ||
| 147 | 147 | } |
| 148 | 148 | } |
| 149 | 149 | }; |
| 150 | 150 | |
| 151 | + override(settings, chart); | |
| 152 | + | |
| 151 | 153 | var chartjs = new Chart(context, { |
| 152 | 154 | type: type, |
| 153 | 155 | data: { |
| 154 | 156 | labels: labels, |
| @@ -198,12 +200,8 @@ | ||
| 198 | 200 | if(typeof settings['animation'] !== 'undefined' && parseInt(settings['animation']['duration']) === 0){ |
| 199 | 201 | settings['animation']['duration'] = 1000; |
| 200 | 202 | } |
| 201 | 203 | |
| 202 | - if(typeof settings['title'] !== 'undefined' && settings['title']['text'] !== ''){ | |
| 203 | - settings['title']['display'] = true; | |
| 204 | - } | |
| 205 | - | |
| 206 | 204 | if(typeof settings['tooltip'] !== 'undefined' && typeof settings['tooltip']['intersect'] !== 'undefined'){ |
| 207 | 205 | // jshint ignore:line |
| 208 | 206 | settings['tooltip']['intersect'] = settings['tooltip']['intersect'] == true || parseInt(settings['tooltip']['intersect']) === 1; // jshint ignore:line |
| 209 | 207 | } |
| @@ -230,11 +228,15 @@ | ||
| 230 | 228 | settings.plugins = { |
| 231 | 229 | legend: settings.legend, |
| 232 | 230 | }; |
| 233 | 231 | |
| 232 | + if(typeof settings['title'] !== 'undefined' && settings['title']['text'] !== ''){ | |
| 233 | + settings.plugins['title'] = {}; | |
| 234 | + settings.plugins['title']['display'] = true; | |
| 235 | + settings.plugins['title']['text'] = settings['title']['text']; | |
| 236 | + } | |
| 237 | + | |
| 234 | 238 | handleAxes(settings, chart); |
| 235 | - | |
| 236 | - override(settings, chart); | |
| 237 | 239 | } |
| 238 | 240 | |
| 239 | 241 | function handleAxes(settings, chart){ |
| 240 | 242 | if(typeof settings['yAxes'] !== 'undefined' && typeof settings['xAxes'] !== 'undefined'){ |
| @@ -271,9 +273,9 @@ | ||
| 271 | 273 | var $o = {}; |
| 272 | 274 | if(Array.isArray(settings[axis][i]) || typeof settings[axis][i] === 'object'){ |
| 273 | 275 | for(var j in settings[axis][i]){ |
| 274 | 276 | var $val = ''; |
| 275 | - if(j === 'labelString'){ | |
| 277 | + if(j === 'labelString'){ | |
| 276 | 278 | $o['display'] = true; |
| 277 | 279 | $val = settings[axis][i][j]; |
| 278 | 280 | }else if(i === 'ticks'){ |
| 279 | 281 | // number values under ticks need to be converted to numbers or the library throws a JS error. |
| @@ -498,9 +500,9 @@ | ||
| 498 | 500 | function override(settings, chart) { |
| 499 | 501 | if (settings.manual) { |
| 500 | 502 | try{ |
| 501 | 503 | var options = JSON.parse(settings.manual); |
| 502 | - $.extend(settings, options); | |
| 504 | + $.extend(true, settings, options); | |
| 503 | 505 | delete settings.manual; |
| 504 | 506 | }catch(error){ |
| 505 | 507 | console.error("Error while adding manual configuration override " + settings.manual); |
| 506 | 508 | } |