@@ -170,6 +170,7 @@ module.exports = function dragBox(gd, plotinfo, x, y, w, h, ns, ew) {
170170 }
171171 }
172172 } ;
173+
173174 dragElement . init ( dragOptions ) ;
174175
175176 var x0 ,
@@ -386,9 +387,7 @@ module.exports = function dragBox(gd, plotinfo, x, y, w, h, ns, ew) {
386387 var axRange = Lib . simpleMap ( ax . range , ax . r2l ) ,
387388 v0 = axRange [ 0 ] + ( axRange [ 1 ] - axRange [ 0 ] ) * centerFraction ;
388389 function doZoom ( v ) { return ax . l2r ( v0 + ( v - v0 ) * zoom ) ; }
389-
390390 ax . range = axRange . map ( doZoom ) ;
391-
392391 }
393392
394393 if ( ew || isSubplotConstrained ) {
@@ -444,6 +443,7 @@ module.exports = function dragBox(gd, plotinfo, x, y, w, h, ns, ew) {
444443 }
445444
446445 recomputeAxisLists ( ) ;
446+
447447 if ( xActive === 'ew' || yActive === 'ns' ) {
448448 if ( xActive ) dragAxList ( xa , dx ) ;
449449 if ( yActive ) dragAxList ( ya , dy ) ;
@@ -504,7 +504,6 @@ module.exports = function dragBox(gd, plotinfo, x, y, w, h, ns, ew) {
504504 // scale the other axis the same about its middle
505505 for ( i = 0 ; i < xa . length ; i ++ ) {
506506 xa [ i ] . range = xa [ i ] . _r . slice ( ) ;
507-
508507 scaleZoom ( xa [ i ] , 1 - dy / ph ) ;
509508 }
510509 dx = dy * pw / ph ;
@@ -513,7 +512,6 @@ module.exports = function dragBox(gd, plotinfo, x, y, w, h, ns, ew) {
513512 if ( ! yActive && xActive . length === 1 ) {
514513 for ( i = 0 ; i < ya . length ; i ++ ) {
515514 ya [ i ] . range = ya [ i ] . _r . slice ( ) ;
516-
517515 scaleZoom ( ya [ i ] , 1 - dx / pw ) ;
518516 }
519517 dy = dx * ph / pw ;
@@ -633,6 +631,7 @@ module.exports = function dragBox(gd, plotinfo, x, y, w, h, ns, ew) {
633631 }
634632 }
635633 }
634+
636635 gd . emit ( 'plotly_doubleclick' , null ) ;
637636 Plotly . relayout ( gd , attrs ) ;
638637 }
@@ -655,7 +654,6 @@ module.exports = function dragBox(gd, plotinfo, x, y, w, h, ns, ew) {
655654 if ( axi . _r [ 1 ] !== axi . range [ 1 ] ) attrs [ axi . _name + '.range[1]' ] = axi . range [ 1 ] ;
656655
657656 axi . range = axi . _input . range = axi . _r . slice ( ) ;
658-
659657 }
660658
661659 updateSubplots ( [ 0 , 0 , pw , ph ] ) ;
@@ -815,12 +813,10 @@ function zoomAxRanges(axList, r0Fraction, r1Fraction, linkedAxes) {
815813
816814 axRangeLinear0 = axi . _rl [ 0 ] ;
817815 axRangeLinearSpan = axi . _rl [ 1 ] - axRangeLinear0 ;
818-
819816 axi . range = [
820817 axi . l2r ( axRangeLinear0 + axRangeLinearSpan * r0Fraction ) ,
821818 axi . l2r ( axRangeLinear0 + axRangeLinearSpan * r1Fraction )
822819 ] ;
823-
824820 }
825821
826822 // zoom linked axes about their centers
@@ -835,7 +831,6 @@ function dragAxList(axList, pix) {
835831 for ( var i = 0 ; i < axList . length ; i ++ ) {
836832 var axi = axList [ i ] ;
837833 if ( ! axi . fixedrange ) {
838-
839834 axi . range = [
840835 axi . l2r ( axi . _rl [ 0 ] - pix / axi . _m ) ,
841836 axi . l2r ( axi . _rl [ 1 ] - pix / axi . _m )
0 commit comments