@@ -144,98 +144,100 @@ function makeDragBox(gd, plotinfo, x, y, w, h, ns, ew) {
144144 var dragOptions = {
145145 element : dragger ,
146146 gd : gd ,
147- plotinfo : plotinfo ,
148- prepFn : function ( e , startX , startY ) {
149- var dragModeNow = gd . _fullLayout . dragmode ;
150-
151- recomputeAxisLists ( ) ;
152-
153- if ( ! allFixedRanges ) {
154- if ( isMainDrag ) {
155- // main dragger handles all drag modes, and changes
156- // to pan (or to zoom if it already is pan) on shift
157- if ( e . shiftKey ) {
158- if ( dragModeNow === 'pan' ) dragModeNow = 'zoom' ;
159- else if ( ! isSelectOrLasso ( dragModeNow ) ) dragModeNow = 'pan' ;
160- }
161- else if ( e . ctrlKey ) {
162- dragModeNow = 'pan' ;
163- }
147+ plotinfo : plotinfo
148+ } ;
149+
150+ dragOptions . prepFn = function ( e , startX , startY ) {
151+ var dragModeNow = gd . _fullLayout . dragmode ;
152+
153+ recomputeAxisLists ( ) ;
154+
155+ if ( ! allFixedRanges ) {
156+ if ( isMainDrag ) {
157+ // main dragger handles all drag modes, and changes
158+ // to pan (or to zoom if it already is pan) on shift
159+ if ( e . shiftKey ) {
160+ if ( dragModeNow === 'pan' ) dragModeNow = 'zoom' ;
161+ else if ( ! isSelectOrLasso ( dragModeNow ) ) dragModeNow = 'pan' ;
162+ }
163+ else if ( e . ctrlKey ) {
164+ dragModeNow = 'pan' ;
164165 }
165- // all other draggers just pan
166- else dragModeNow = 'pan' ;
167166 }
167+ // all other draggers just pan
168+ else dragModeNow = 'pan' ;
169+ }
168170
169- if ( dragModeNow === 'lasso' ) dragOptions . minDrag = 1 ;
170- else dragOptions . minDrag = undefined ;
171+ if ( dragModeNow === 'lasso' ) dragOptions . minDrag = 1 ;
172+ else dragOptions . minDrag = undefined ;
171173
172- if ( isSelectOrLasso ( dragModeNow ) ) {
173- dragOptions . xaxes = xaxes ;
174- dragOptions . yaxes = yaxes ;
175- prepSelect ( e , startX , startY , dragOptions , dragModeNow ) ;
176- }
177- else if ( allFixedRanges ) {
178- clearSelect ( zoomlayer ) ;
179- }
180- else if ( dragModeNow === 'zoom' ) {
181- dragOptions . moveFn = zoomMove ;
182- dragOptions . doneFn = zoomDone ;
174+ if ( isSelectOrLasso ( dragModeNow ) ) {
175+ dragOptions . xaxes = xaxes ;
176+ dragOptions . yaxes = yaxes ;
177+ prepSelect ( e , startX , startY , dragOptions , dragModeNow ) ;
178+ }
179+ else if ( allFixedRanges ) {
180+ clearSelect ( zoomlayer ) ;
181+ }
182+ else if ( dragModeNow === 'zoom' ) {
183+ dragOptions . moveFn = zoomMove ;
184+ dragOptions . doneFn = zoomDone ;
183185
184- // zoomMove takes care of the threshold, but we need to
185- // minimize this so that constrained zoom boxes will flip
186- // orientation at the right place
187- dragOptions . minDrag = 1 ;
186+ // zoomMove takes care of the threshold, but we need to
187+ // minimize this so that constrained zoom boxes will flip
188+ // orientation at the right place
189+ dragOptions . minDrag = 1 ;
188190
189- zoomPrep ( e , startX , startY ) ;
190- }
191- else if ( dragModeNow === 'pan' ) {
192- dragOptions . moveFn = plotDrag ;
193- dragOptions . doneFn = dragTail ;
194- clearSelect ( zoomlayer ) ;
195- }
196- } ,
197- clickFn : function ( numClicks , evt ) {
198- removeZoombox ( gd ) ;
191+ zoomPrep ( e , startX , startY ) ;
192+ }
193+ else if ( dragModeNow === 'pan' ) {
194+ dragOptions . moveFn = plotDrag ;
195+ dragOptions . doneFn = dragTail ;
196+ clearSelect ( zoomlayer ) ;
197+ }
198+ } ;
199199
200- if ( numClicks === 2 && ! singleEnd ) doubleClick ( ) ;
200+ dragOptions . clickFn = function ( numClicks , evt ) {
201+ removeZoombox ( gd ) ;
201202
202- if ( isMainDrag ) {
203- Fx . click ( gd , evt , plotinfo . id ) ;
203+ if ( numClicks === 2 && ! singleEnd ) doubleClick ( ) ;
204+
205+ if ( isMainDrag ) {
206+ Fx . click ( gd , evt , plotinfo . id ) ;
207+ }
208+ else if ( numClicks === 1 && singleEnd ) {
209+ var ax = ns ? ya0 : xa0 ,
210+ end = ( ns === 's' || ew === 'w' ) ? 0 : 1 ,
211+ attrStr = ax . _name + '.range[' + end + ']' ,
212+ initialText = getEndText ( ax , end ) ,
213+ hAlign = 'left' ,
214+ vAlign = 'middle' ;
215+
216+ if ( ax . fixedrange ) return ;
217+
218+ if ( ns ) {
219+ vAlign = ( ns === 'n' ) ? 'top' : 'bottom' ;
220+ if ( ax . side === 'right' ) hAlign = 'right' ;
204221 }
205- else if ( numClicks === 1 && singleEnd ) {
206- var ax = ns ? ya0 : xa0 ,
207- end = ( ns === 's' || ew === 'w' ) ? 0 : 1 ,
208- attrStr = ax . _name + '.range[' + end + ']' ,
209- initialText = getEndText ( ax , end ) ,
210- hAlign = 'left' ,
211- vAlign = 'middle' ;
212-
213- if ( ax . fixedrange ) return ;
214-
215- if ( ns ) {
216- vAlign = ( ns === 'n' ) ? 'top' : 'bottom' ;
217- if ( ax . side === 'right' ) hAlign = 'right' ;
218- }
219- else if ( ew === 'e' ) hAlign = 'right' ;
220-
221- if ( gd . _context . showAxisRangeEntryBoxes ) {
222- d3 . select ( dragger )
223- . call ( svgTextUtils . makeEditable , {
224- gd : gd ,
225- immediate : true ,
226- background : gd . _fullLayout . paper_bgcolor ,
227- text : String ( initialText ) ,
228- fill : ax . tickfont ? ax . tickfont . color : '#444' ,
229- horizontalAlign : hAlign ,
230- verticalAlign : vAlign
231- } )
232- . on ( 'edit' , function ( text ) {
233- var v = ax . d2r ( text ) ;
234- if ( v !== undefined ) {
235- Registry . call ( 'relayout' , gd , attrStr , v ) ;
236- }
237- } ) ;
238- }
222+ else if ( ew === 'e' ) hAlign = 'right' ;
223+
224+ if ( gd . _context . showAxisRangeEntryBoxes ) {
225+ d3 . select ( dragger )
226+ . call ( svgTextUtils . makeEditable , {
227+ gd : gd ,
228+ immediate : true ,
229+ background : gd . _fullLayout . paper_bgcolor ,
230+ text : String ( initialText ) ,
231+ fill : ax . tickfont ? ax . tickfont . color : '#444' ,
232+ horizontalAlign : hAlign ,
233+ verticalAlign : vAlign
234+ } )
235+ . on ( 'edit' , function ( text ) {
236+ var v = ax . d2r ( text ) ;
237+ if ( v !== undefined ) {
238+ Registry . call ( 'relayout' , gd , attrStr , v ) ;
239+ }
240+ } ) ;
239241 }
240242 }
241243 } ;
0 commit comments