@@ -417,32 +417,35 @@ helpers.extend(Chart.prototype, /** @lends Chart */ {
417
417
buildOrUpdateControllers : function ( ) {
418
418
var me = this ;
419
419
var newControllers = [ ] ;
420
+ var datasets = me . data . datasets ;
421
+ var i , ilen ;
420
422
421
- helpers . each ( me . data . datasets , function ( dataset , datasetIndex ) {
422
- var meta = me . getDatasetMeta ( datasetIndex ) ;
423
+ for ( i = 0 , ilen = datasets . length ; i < ilen ; i ++ ) {
424
+ var dataset = datasets [ i ] ;
425
+ var meta = me . getDatasetMeta ( i ) ;
423
426
var type = dataset . type || me . config . type ;
424
427
425
428
if ( meta . type && meta . type !== type ) {
426
- me . destroyDatasetMeta ( datasetIndex ) ;
427
- meta = me . getDatasetMeta ( datasetIndex ) ;
429
+ me . destroyDatasetMeta ( i ) ;
430
+ meta = me . getDatasetMeta ( i ) ;
428
431
}
429
432
meta . type = type ;
430
433
meta . order = dataset . order || 0 ;
431
- meta . index = datasetIndex ;
434
+ meta . index = i ;
432
435
433
436
if ( meta . controller ) {
434
- meta . controller . updateIndex ( datasetIndex ) ;
437
+ meta . controller . updateIndex ( i ) ;
435
438
meta . controller . linkScales ( ) ;
436
439
} else {
437
440
var ControllerClass = controllers [ meta . type ] ;
438
441
if ( ControllerClass === undefined ) {
439
442
throw new Error ( '"' + meta . type + '" is not a chart type.' ) ;
440
443
}
441
444
442
- meta . controller = new ControllerClass ( me , datasetIndex ) ;
445
+ meta . controller = new ControllerClass ( me , i ) ;
443
446
newControllers . push ( meta . controller ) ;
444
447
}
445
- } , me ) ;
448
+ }
446
449
447
450
return newControllers ;
448
451
} ,
@@ -468,6 +471,7 @@ helpers.extend(Chart.prototype, /** @lends Chart */ {
468
471
469
472
update : function ( config ) {
470
473
var me = this ;
474
+ var i , ilen ;
471
475
472
476
if ( ! config || typeof config !== 'object' ) {
473
477
// backwards compatibility
@@ -494,9 +498,9 @@ helpers.extend(Chart.prototype, /** @lends Chart */ {
494
498
var newControllers = me . buildOrUpdateControllers ( ) ;
495
499
496
500
// Make sure all dataset controllers have correct meta data counts
497
- helpers . each ( me . data . datasets , function ( dataset , datasetIndex ) {
498
- me . getDatasetMeta ( datasetIndex ) . controller . buildOrUpdateElements ( ) ;
499
- } , me ) ;
501
+ for ( i = 0 , ilen = me . data . datasets . length ; i < ilen ; i ++ ) {
502
+ me . getDatasetMeta ( i ) . controller . buildOrUpdateElements ( ) ;
503
+ }
500
504
501
505
me . updateLayout ( ) ;
502
506
0 commit comments