@@ -256,16 +256,14 @@ function renderScrollbarKit(tableControlView) {
256
256
. classed ( 'scrollbarGlyph' , true )
257
257
. attr ( 'stroke' , 'black' )
258
258
. attr ( 'stroke-width' , c . scrollbarWidth )
259
- . attr ( 'stroke-linecap' , 'round' ) ;
259
+ . attr ( 'stroke-linecap' , 'round' )
260
+ . attr ( 'y1' , c . scrollbarWidth / 2 ) ;
260
261
261
262
scrollbarGlyph
262
- . attr ( 'y1' , function ( d ) {
263
- return c . scrollbarWidth / 2 ;
264
- } )
265
263
. attr ( 'y2' , function ( d ) {
266
264
return d . scrollbarState . barLength - c . scrollbarWidth / 2 ;
267
265
} )
268
- . attr ( 'stroke-opacity' , 0.4 )
266
+ . attr ( 'stroke-opacity' , 0.4 ) ;
269
267
270
268
// cancel transition: possible pending (also, delayed) transition
271
269
scrollbarGlyph
@@ -274,6 +272,23 @@ function renderScrollbarKit(tableControlView) {
274
272
scrollbarGlyph
275
273
. transition ( ) . delay ( c . scrollbarHideDelay ) . duration ( c . scrollbarHideDuration )
276
274
. attr ( 'stroke-opacity' , 0 ) ;
275
+
276
+ var scrollbarCaptureZone = scrollbarSlider . selectAll ( '.scrollbarCaptureZone' )
277
+ . data ( gup . repeat , gup . keyFun ) ;
278
+
279
+ scrollbarCaptureZone . enter ( )
280
+ . append ( 'line' )
281
+ . classed ( 'scrollbarCaptureZone' , true )
282
+ . attr ( 'stroke' , 'red' )
283
+ . attr ( 'stroke-width' , c . scrollbarCaptureWidth )
284
+ . attr ( 'stroke-linecap' , 'square' )
285
+ . attr ( 'stroke-opacity' , c . clipView ? 0.5 : 0 )
286
+ . attr ( 'y1' , c . scrollbarCaptureWidth / 2 ) ;
287
+
288
+ scrollbarCaptureZone
289
+ . attr ( 'y2' , function ( d ) {
290
+ return d . scrollbarState . barLength - c . scrollbarCaptureWidth / 2 ;
291
+ } ) ;
277
292
}
278
293
279
294
function renderColumnBlocks ( gd , tableControlView , columnBlock , allColumnBlock ) {
0 commit comments