@@ -109,7 +109,7 @@ function makeDragBox(gd, plotinfo, x, y, w, h, ns, ew) {
109109
110110 recomputeAxisLists ( ) ;
111111
112- var dragger = makeDragger ( plotinfo , ns + ew + 'drag' , cursor , x , y , w , h ) ;
112+ var dragger = makeRectDragger ( plotinfo , ns + ew + 'drag' , cursor , x , y , w , h ) ;
113113
114114 // still need to make the element if the axes are disabled
115115 // but nuke its events (except for maindrag which needs them for hover)
@@ -781,21 +781,26 @@ function makeDragBox(gd, plotinfo, x, y, w, h, ns, ew) {
781781 return dragger ;
782782}
783783
784- function makeDragger ( plotinfo , dragClass , cursor , x , y , w , h ) {
784+ function makeDragger ( plotinfo , nodeName , dragClass , cursor ) {
785785 var dragger3 = plotinfo . draglayer . selectAll ( '.' + dragClass ) . data ( [ 0 ] ) ;
786786
787- dragger3 . enter ( ) . append ( 'rect' )
787+ dragger3 . enter ( ) . append ( nodeName )
788788 . classed ( 'drag' , true )
789789 . classed ( dragClass , true )
790790 . style ( { fill : 'transparent' , 'stroke-width' : 0 } )
791791 . attr ( 'data-subplot' , plotinfo . id ) ;
792792
793- dragger3 . call ( Drawing . setRect , x , y , w , h )
794- . call ( setCursor , cursor ) ;
793+ dragger3 . call ( setCursor , cursor ) ;
795794
796795 return dragger3 . node ( ) ;
797796}
798797
798+ function makeRectDragger ( plotinfo , dragClass , cursor , x , y , w , h ) {
799+ var dragger = makeDragger ( plotinfo , 'rect' , dragClass , cursor ) ;
800+ d3 . select ( dragger ) . call ( Drawing . setRect , x , y , w , h ) ;
801+ return dragger ;
802+ }
803+
799804function isDirectionActive ( axList , activeVal ) {
800805 for ( var i = 0 ; i < axList . length ; i ++ ) {
801806 if ( ! axList [ i ] . fixedrange ) return activeVal ;
@@ -1044,6 +1049,7 @@ module.exports = {
10441049 makeDragBox : makeDragBox ,
10451050
10461051 makeDragger : makeDragger ,
1052+ makeRectDragger : makeRectDragger ,
10471053 makeZoombox : makeZoombox ,
10481054 makeCorners : makeCorners ,
10491055
0 commit comments