@@ -426,6 +426,16 @@ describe('range selector interactions:', function() {
426
426
} ) ;
427
427
}
428
428
429
+ function checkButtonColor ( bgColor , activeColor ) {
430
+ d3 . selectAll ( '.button' ) . each ( function ( d ) {
431
+ var rect = d3 . select ( this ) . select ( 'rect' ) ;
432
+
433
+ expect ( rect . style ( 'fill' ) ) . toEqual (
434
+ d . isActive ? activeColor : bgColor
435
+ ) ;
436
+ } ) ;
437
+ }
438
+
429
439
it ( 'should display the correct nodes' , function ( ) {
430
440
assertNodeCount ( '.rangeselector' , 1 ) ;
431
441
assertNodeCount ( '.button' , mockCopy . layout . xaxis . rangeselector . buttons . length ) ;
@@ -456,6 +466,22 @@ describe('range selector interactions:', function() {
456
466
} ) ;
457
467
} ) ;
458
468
469
+ it ( 'should be able to change its style on `relayout`' , function ( done ) {
470
+ var prefix = 'xaxis.rangeselector.' ;
471
+
472
+ checkButtonColor ( 'rgb(238, 238, 238)' , 'rgb(212, 212, 212)' ) ;
473
+
474
+ Plotly . relayout ( gd , prefix + 'bgcolor' , 'red' ) . then ( function ( ) {
475
+ checkButtonColor ( 'rgb(255, 0, 0)' , 'rgb(255, 128, 128)' ) ;
476
+
477
+ return Plotly . relayout ( gd , prefix + 'activecolor' , 'blue' ) ;
478
+ } ) . then ( function ( ) {
479
+ checkButtonColor ( 'rgb(255, 0, 0)' , 'rgb(0, 0, 255)' ) ;
480
+
481
+ done ( ) ;
482
+ } ) ;
483
+ } ) ;
484
+
459
485
it ( 'should update range and active button when clicked' , function ( ) {
460
486
var range0 = gd . layout . xaxis . range [ 0 ] ;
461
487
var buttons = d3 . selectAll ( '.button' ) . select ( 'rect' ) ;
0 commit comments