@@ -410,7 +410,7 @@ class Drag implements IDisposable {
410410 */
411411 private _updateDragScroll ( event : MouseEvent ) : void {
412412 // Find the scroll target under the mouse.
413- let target = Private . findScrollTarget ( event ) ;
413+ let target = Private . findScrollTarget ( event , this . dragOffsetX , this . dragOffsetY ) ;
414414
415415 // Bail if there is nothing to scroll.
416416 if ( ! this . _scrollTarget && ! target ) {
@@ -830,17 +830,18 @@ namespace Private {
830830 * Find the drag scroll target under the mouse, if any.
831831 */
832832 export
833- function findScrollTarget ( event : MouseEvent ) : IScrollTarget | null {
833+ function findScrollTarget ( event : MouseEvent , dragOffsetX : number , dragOffsetY : number ) : IScrollTarget | null {
834834 // Look up the client mouse position.
835- const x = event . clientX + drag . dragOffsetX ;
836- const y = event . clientY + drag . dragOffsetY ;
835+ const x = event . clientX + dragOffsetX ;
836+ const y = event . clientY + dragOffsetY ;
837837
838838 // Get the element under the mouse.
839839 let element : Element | null = document . elementFromPoint ( x , y ) ;
840840
841841 // Search for a scrollable target based on the mouse position.
842842 // The null assert in third clause of for-loop is required due to:
843843 // https://github.com/Microsoft/TypeScript/issues/14143
844+
844845 for ( ; element ; element = element ! . parentElement ) {
845846 // Ignore elements which are not marked as scrollable.
846847 let scrollable = element . hasAttribute ( 'data-lm-dragscroll' ) ;
0 commit comments