@@ -1535,6 +1535,59 @@ describe('axis zoom/pan and main plot zoom', function() {
15351535 . catch ( failTest )
15361536 . then ( done ) ;
15371537 } ) ;
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+ } ) ;
15381591 } ) ;
15391592
15401593 describe ( 'redrag behavior' , function ( ) {
0 commit comments