@@ -1535,6 +1535,59 @@ describe('axis zoom/pan and main plot zoom', function() {
1535
1535
. catch ( failTest )
1536
1536
. then ( done ) ;
1537
1537
} ) ;
1538
+
1539
+ it ( 'panning a matching axes with references to *missing* axes' , function ( done ) {
1540
+ var data = [
1541
+ // N.B. no traces on subplot xy
1542
+ { x : [ 1 , 2 , 3 ] , y : [ 1 , 2 , 1 ] , xaxis : 'x2' , yaxis : 'y2' } ,
1543
+ { x : [ 1 , 2 , 3 ] , y : [ 1 , 2 , 1 ] , xaxis : 'x3' , yaxis : 'y3' } ,
1544
+ { x : [ 1 , 2 , 3 ] , y : [ 1 , 2 , 1 ] , xaxis : 'x4' , yaxis : 'y4' }
1545
+ ] ;
1546
+
1547
+ var layout = {
1548
+ xaxis : { domain : [ 0 , 0.48 ] } ,
1549
+ xaxis2 : { anchor : 'y2' , domain : [ 0.52 , 1 ] , matches : 'x' } ,
1550
+ xaxis3 : { anchor : 'y3' , domain : [ 0 , 0.48 ] , matches : 'x' } ,
1551
+ xaxis4 : { anchor : 'y4' , domain : [ 0.52 , 1 ] , matches : 'x' } ,
1552
+ yaxis : { domain : [ 0 , 0.48 ] } ,
1553
+ yaxis2 : { anchor : 'x2' , domain : [ 0.52 , 1 ] , matches : 'y' } ,
1554
+ yaxis3 : { anchor : 'x3' , domain : [ 0.52 , 1 ] , matches : 'y' } ,
1555
+ yaxis4 : { anchor : 'x4' , domain : [ 0 , 0.48 ] , matches : 'y' } ,
1556
+ width : 400 ,
1557
+ height : 400 ,
1558
+ margin : { t : 50 , l : 50 , b : 50 , r : 50 } ,
1559
+ showlegend : false ,
1560
+ dragmode : 'pan'
1561
+ } ;
1562
+
1563
+ makePlot ( data , layout ) . then ( function ( ) {
1564
+ assertRanges ( 'base' , [
1565
+ [ [ 'xaxis' , 'xaxis2' , 'xaxis3' , 'xaxis4' ] , [ 0.8206 , 3.179 ] ] ,
1566
+ [ [ 'yaxis' , 'yaxis2' , 'yaxis3' , 'yaxis4' ] , [ 0.9103 , 2.0896 ] ]
1567
+ ] ) ;
1568
+ } )
1569
+ . then ( function ( ) {
1570
+ var drag = makeDragFns ( 'x2y2' , 'nsew' , 30 , 30 ) ;
1571
+ return drag . start ( ) . then ( function ( ) {
1572
+ assertRanges ( 'during drag' , [
1573
+ [ [ 'xaxis' , 'xaxis2' , 'xaxis3' , 'xaxis4' ] , [ 0.329 , 2.687 ] , { skipInput : true } ] ,
1574
+ [ [ 'yaxis' , 'yaxis2' , 'yaxis3' , 'yaxis4' ] , [ 1.156 , 2.335 ] , { skipInput : true } ]
1575
+ ] ) ;
1576
+ } )
1577
+ . then ( drag . end ) ;
1578
+ } )
1579
+ . then ( _assert ( 'after drag on x2y2 subplot' , [
1580
+ [ [ 'xaxis' , 'xaxis2' , 'xaxis3' , 'xaxis4' ] , [ 0.329 , 2.687 ] , { dragged : true } ] ,
1581
+ [ [ 'yaxis' , 'yaxis2' , 'yaxis3' , 'yaxis4' ] , [ 1.156 , 2.335 ] , { dragged : true } ]
1582
+ ] ) )
1583
+ . then ( doDblClick ( 'x3y3' , 'nsew' ) )
1584
+ . then ( _assert ( 'after double-click on x3y3 subplot' , [
1585
+ [ [ 'xaxis' , 'xaxis2' , 'xaxis3' , 'xaxis4' ] , [ 0.8206 , 3.179 ] , { autorange : true } ] ,
1586
+ [ [ 'yaxis' , 'yaxis2' , 'yaxis3' , 'yaxis4' ] , [ 0.9103 , 2.0896 ] , { autorange : true } ]
1587
+ ] ) )
1588
+ . catch ( failTest )
1589
+ . then ( done ) ;
1590
+ } ) ;
1538
1591
} ) ;
1539
1592
1540
1593
describe ( 'redrag behavior' , function ( ) {
0 commit comments