@@ -251,7 +251,7 @@ var Scale = Element.extend({
251
251
update : function ( maxWidth , maxHeight , margins ) {
252
252
var me = this ;
253
253
var optionTicks = me . options . ticks ;
254
- var i , ilen , labels , label , ticks , tick ;
254
+ var i , ilen , labels , ticks ;
255
255
256
256
// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)
257
257
me . beforeUpdate ( ) ;
@@ -293,10 +293,15 @@ var Scale = Element.extend({
293
293
294
294
// New implementations should return an array of objects but for BACKWARD COMPAT,
295
295
// we still support no return (`this.ticks` internally set by calling this method).
296
- ticks = me . buildTicks ( ) || [ ] ;
296
+ ticks = me . buildTicks ( ) ;
297
297
298
298
// Allow modification of ticks in callback.
299
- ticks = me . afterBuildTicks ( ticks ) || ticks ;
299
+ if ( ticks ) {
300
+ ticks = me . afterBuildTicks ( ticks ) ;
301
+ } else {
302
+ // Support old implementations (that modified `this.ticks` directly in buildTicks)
303
+ me . ticks = me . afterBuildTicks ( me . ticks ) ;
304
+ }
300
305
301
306
me . beforeTickToLabelConversion ( ) ;
302
307
@@ -312,16 +317,17 @@ var Scale = Element.extend({
312
317
// IMPORTANT: from this point, we consider that `this.ticks` will NEVER change!
313
318
314
319
// BACKWARD COMPAT: synchronize `_ticks` with labels (so potentially `this.ticks`)
315
- for ( i = 0 , ilen = labels . length ; i < ilen ; ++ i ) {
316
- label = labels [ i ] ;
317
- tick = ticks [ i ] ;
318
- if ( ! tick ) {
320
+ if ( ticks ) {
321
+ for ( i = 0 , ilen = labels . length ; i < ilen ; ++ i ) {
322
+ ticks [ i ] . label = labels [ i ] ;
323
+ }
324
+ } else {
325
+ ticks = [ ] ;
326
+ for ( i = 0 , ilen = labels . length ; i < ilen ; ++ i ) {
319
327
ticks . push ( {
320
- label : label ,
328
+ label : labels [ i ] ,
321
329
major : false
322
330
} ) ;
323
- } else {
324
- tick . label = label ;
325
331
}
326
332
}
327
333
@@ -395,13 +401,7 @@ var Scale = Element.extend({
395
401
buildTicks : helpers . noop ,
396
402
afterBuildTicks : function ( ticks ) {
397
403
var me = this ;
398
- // ticks is empty for old axis implementations here
399
- if ( helpers . isArray ( ticks ) && ticks . length ) {
400
- return helpers . callback ( me . options . afterBuildTicks , [ me , ticks ] ) ;
401
- }
402
- // Support old implementations (that modified `this.ticks` directly in buildTicks)
403
- me . ticks = helpers . callback ( me . options . afterBuildTicks , [ me , me . ticks ] ) || me . ticks ;
404
- return ticks ;
404
+ return helpers . callback ( me . options . afterBuildTicks , [ me , ticks ] ) || ticks ;
405
405
} ,
406
406
407
407
beforeTickToLabelConversion : function ( ) {
0 commit comments