@@ -1193,6 +1193,62 @@ describe('ModeBar', function() {
1193
1193
assertRange ( 'xaxis2' , [ - 1 , 4 ] ) ;
1194
1194
assertRange ( 'yaxis2' , [ 0 , 4 ] ) ;
1195
1195
} ) ;
1196
+
1197
+ it ( 'should respect modebardisable attribute' , function ( done ) {
1198
+ Plotly . relayout ( gd , {
1199
+ 'xaxis.modebardisable' : 'zoominout+autoscale' ,
1200
+ 'xaxis2.modebardisable' : 'zoominout' ,
1201
+ 'yaxis.modebardisable' : 'autoscale' ,
1202
+ } ) . then ( function ( ) {
1203
+ var buttonZoomIn = selectButton ( modeBar , 'zoomIn2d' ) ;
1204
+ var buttonZoomOut = selectButton ( modeBar , 'zoomOut2d' ) ;
1205
+
1206
+ assertRange ( 'xaxis' , [ '2016-01-01' , '2016-04-01' ] ) ;
1207
+ assertRange ( 'yaxis' , [ 1 , 3 ] ) ;
1208
+ assertRange ( 'xaxis2' , [ - 1 , 4 ] ) ;
1209
+ assertRange ( 'yaxis2' , [ 0 , 4 ] ) ;
1210
+
1211
+ // xaxis and xaxis2 should not be affected by zoom in/out
1212
+ // yaxis and yaxis2 should be affected as in previous test
1213
+ buttonZoomIn . click ( ) ;
1214
+ assertRange ( 'xaxis' , [ '2016-01-01' , '2016-04-01' ] ) ;
1215
+ assertRange ( 'yaxis' , [ 1.5 , 2.5 ] ) ;
1216
+ assertRange ( 'xaxis2' , [ - 1 , 4 ] ) ;
1217
+ assertRange ( 'yaxis2' , [ 1 , 3 ] ) ;
1218
+
1219
+ buttonZoomOut . click ( ) ;
1220
+ assertRange ( 'xaxis' , [ '2016-01-01' , '2016-04-01' ] ) ;
1221
+ assertRange ( 'yaxis' , [ 1 , 3 ] ) ;
1222
+ assertRange ( 'xaxis2' , [ - 1 , 4 ] ) ;
1223
+ assertRange ( 'yaxis2' , [ 0 , 4 ] ) ;
1224
+
1225
+ return Plotly . relayout ( gd , {
1226
+ 'xaxis.range' : [ '2016-01-23 17:45' , '2016-03-09 05:15' ] ,
1227
+ 'yaxis.range' : [ 1.5 , 2.5 ] ,
1228
+ 'xaxis2.range' : [ 0.25 , 2.75 ] ,
1229
+ 'yaxis2.range' : [ 1 , 3 ] ,
1230
+ } ) ;
1231
+ } )
1232
+ . then ( function ( ) {
1233
+ var buttonAutoScale = selectButton ( modeBar , 'autoScale2d' ) ;
1234
+ var buttonResetScale = selectButton ( modeBar , 'resetScale2d' ) ;
1235
+
1236
+ // xaxis and yaxis should not be affected by autorange
1237
+ // xaxis2 and yaxis2 should be affected as in previous test
1238
+ buttonAutoScale . click ( ) ;
1239
+ assertRange ( 'xaxis' , [ '2016-01-23 17:45' , '2016-03-09 05:15' ] ) ;
1240
+ assertRange ( 'yaxis' , [ 1.5 , 2.5 ] ) ;
1241
+ assertRange ( 'xaxis2' , [ - 0.5 , 2.5 ] ) ;
1242
+ assertRange ( 'yaxis2' , [ 0 , 2.105263 ] ) ;
1243
+
1244
+ buttonResetScale . click ( ) ;
1245
+ assertRange ( 'xaxis' , [ '2016-01-23 17:45' , '2016-03-09 05:15' ] ) ;
1246
+ assertRange ( 'yaxis' , [ 1.5 , 2.5 ] ) ;
1247
+ assertRange ( 'xaxis2' , [ - 1 , 4 ] ) ;
1248
+ assertRange ( 'yaxis2' , [ 0 , 4 ] ) ;
1249
+ } )
1250
+ . then ( done , done . fail )
1251
+ } ) ;
1196
1252
} ) ;
1197
1253
1198
1254
describe ( 'buttons zoom2d, pan2d, select2d and lasso2d' , function ( ) {
0 commit comments