With the reintroduction of the dedicated proxy VerticalScrollbar component, the grid.View no longer utilizes native scrollbars within its direct bounding geometry (both vertical and horizontal proxies are now absolutely positioned overlays).
The GridDragScroll Main Thread addon currently uses complex bounding box mathematics (getBoundingClientRect(), event.offsetX, clientWidth) to guess if a mousedown originated over a native scrollbar, to prevent panning the grid while dragging the scroll thumb.
We can completely remove this localized mathematical logic. Since the scrollbars are now discrete proxy DOM nodes, we can rely directly on event.target boundaries, exactly as currently implemented in the neo-testing branch.
Task:
Refactor GridDragScroll.mjs scrollbar hit-detection logic to replace bounding box math with direct target node verification using the newly introduced vertical and horizontal proxy nodes.
With the reintroduction of the dedicated proxy
VerticalScrollbarcomponent, thegrid.Viewno longer utilizes native scrollbars within its direct bounding geometry (both vertical and horizontal proxies are now absolutely positioned overlays).The
GridDragScrollMain Thread addon currently uses complex bounding box mathematics (getBoundingClientRect(),event.offsetX,clientWidth) to guess if amousedownoriginated over a native scrollbar, to prevent panning the grid while dragging the scroll thumb.We can completely remove this localized mathematical logic. Since the scrollbars are now discrete proxy DOM nodes, we can rely directly on
event.targetboundaries, exactly as currently implemented in theneo-testingbranch.Task: Refactor
GridDragScroll.mjsscrollbar hit-detection logic to replace bounding box math with direct target node verification using the newly introduced vertical and horizontal proxy nodes.