@@ -20,10 +20,7 @@ var Color = require('../color');
20
20
var svgTextUtils = require ( '../../lib/svg_text_utils' ) ;
21
21
var interactConstants = require ( '../../constants/interactions' ) ;
22
22
23
- module . exports = {
24
- draw : draw
25
- } ;
26
-
23
+ var OPPOSITE_SIDE = require ( '../../constants/alignment' ) . OPPOSITE_SIDE ;
27
24
var numStripRE = / [ X Y ] [ 0 - 9 ] * / ;
28
25
29
26
/**
@@ -167,29 +164,26 @@ function draw(gd, titleClass, options) {
167
164
168
165
// move toward avoid.side (= left, right, top, bottom) if needed
169
166
// can include pad (pixels, default 2)
170
- var shift = 0 ;
171
- var backside = {
172
- left : 'right' ,
173
- right : 'left' ,
174
- top : 'bottom' ,
175
- bottom : 'top'
176
- } [ avoid . side ] ;
177
- var shiftSign = ( [ 'left' , 'top' ] . indexOf ( avoid . side ) !== - 1 ) ?
178
- - 1 : 1 ;
167
+ var backside = OPPOSITE_SIDE [ avoid . side ] ;
168
+ var shiftSign = ( avoid . side === 'left' || avoid . side === 'top' ) ? - 1 : 1 ;
179
169
var pad = isNumeric ( avoid . pad ) ? avoid . pad : 2 ;
170
+
180
171
var titlebb = Drawing . bBox ( titleGroup . node ( ) ) ;
181
172
var paperbb = {
182
173
left : 0 ,
183
174
top : 0 ,
184
175
right : fullLayout . width ,
185
176
bottom : fullLayout . height
186
177
} ;
187
- var maxshift = avoid . maxShift || (
188
- ( paperbb [ avoid . side ] - titlebb [ avoid . side ] ) *
189
- ( ( avoid . side === 'left' || avoid . side === 'top' ) ? - 1 : 1 ) ) ;
178
+
179
+ var maxshift = avoid . maxShift ||
180
+ shiftSign * ( paperbb [ avoid . side ] - titlebb [ avoid . side ] ) ;
181
+ var shift = 0 ;
182
+
190
183
// Prevent the title going off the paper
191
- if ( maxshift < 0 ) shift = maxshift ;
192
- else {
184
+ if ( maxshift < 0 ) {
185
+ shift = maxshift ;
186
+ } else {
193
187
// so we don't have to offset each avoided element,
194
188
// give the title the opposite offset
195
189
var offsetLeft = avoid . offsetLeft || 0 ;
@@ -218,8 +212,7 @@ function draw(gd, titleClass, options) {
218
212
top : [ 0 , - shift ] ,
219
213
bottom : [ 0 , shift ]
220
214
} [ avoid . side ] ;
221
- titleGroup . attr ( 'transform' ,
222
- 'translate(' + shiftTemplate + ')' ) ;
215
+ titleGroup . attr ( 'transform' , 'translate(' + shiftTemplate + ')' ) ;
223
216
}
224
217
}
225
218
}
@@ -265,3 +258,7 @@ function draw(gd, titleClass, options) {
265
258
266
259
return group ;
267
260
}
261
+
262
+ module . exports = {
263
+ draw : draw
264
+ } ;
0 commit comments