@@ -253,36 +253,36 @@ module.exports = function draw(gd) {
253
253
254
254
scrollBox . call ( Drawing . setClipUrl , clipId ) ;
255
255
256
- if ( gd . firstRender ) {
256
+ if ( gd . firstRender ) scrollHandler ( scrollBarY , scrollBoxY ) ;
257
+
258
+ legend . on ( 'wheel' , null ) ; // to be safe, remove previous listeners
259
+ legend . on ( 'wheel' , function ( ) {
260
+ scrollBoxY = Lib . constrain (
261
+ scrollBox . attr ( 'data-scroll' ) -
262
+ d3 . event . deltaY / scrollBarYMax * scrollBoxYMax ,
263
+ - scrollBoxYMax , 0 ) ;
264
+ scrollBarY = constants . scrollBarMargin -
265
+ scrollBoxY / scrollBoxYMax * scrollBarYMax ;
257
266
scrollHandler ( scrollBarY , scrollBoxY ) ;
267
+ d3 . event . preventDefault ( ) ;
268
+ } ) ;
258
269
259
- legend . on ( 'wheel' , null ) ;
260
- legend . on ( 'wheel' , function ( ) {
261
- scrollBoxY = Lib . constrain (
262
- scrollBox . attr ( 'data-scroll' ) -
263
- d3 . event . deltaY / scrollBarYMax * scrollBoxYMax ,
264
- - scrollBoxYMax , 0 ) ;
265
- scrollBarY = constants . scrollBarMargin -
266
- scrollBoxY / scrollBoxYMax * scrollBarYMax ;
267
- scrollHandler ( scrollBarY , scrollBoxY ) ;
268
- d3 . event . preventDefault ( ) ;
269
- } ) ;
270
+ // to be safe, remove previous listeners
271
+ scrollBar . on ( '.drag' , null ) ;
272
+ scrollBox . on ( '.drag' , null ) ;
270
273
271
- scrollBar . on ( '.drag' , null ) ;
272
- scrollBox . on ( '.drag' , null ) ;
273
- var drag = d3 . behavior . drag ( ) . on ( 'drag' , function ( ) {
274
- scrollBarY = Lib . constrain (
275
- d3 . event . y - constants . scrollBarHeight / 2 ,
276
- constants . scrollBarMargin ,
277
- constants . scrollBarMargin + scrollBarYMax ) ;
278
- scrollBoxY = - ( scrollBarY - constants . scrollBarMargin ) /
279
- scrollBarYMax * scrollBoxYMax ;
280
- scrollHandler ( scrollBarY , scrollBoxY ) ;
281
- } ) ;
274
+ var drag = d3 . behavior . drag ( ) . on ( 'drag' , function ( ) {
275
+ scrollBarY = Lib . constrain (
276
+ d3 . event . y - constants . scrollBarHeight / 2 ,
277
+ constants . scrollBarMargin ,
278
+ constants . scrollBarMargin + scrollBarYMax ) ;
279
+ scrollBoxY = - ( scrollBarY - constants . scrollBarMargin ) /
280
+ scrollBarYMax * scrollBoxYMax ;
281
+ scrollHandler ( scrollBarY , scrollBoxY ) ;
282
+ } ) ;
282
283
283
- scrollBar . call ( drag ) ;
284
- scrollBox . call ( drag ) ;
285
- }
284
+ scrollBar . call ( drag ) ;
285
+ scrollBox . call ( drag ) ;
286
286
}
287
287
288
288
0 commit comments