LearnNewsExamplesServices
Frontmatter
id9613
titleGrid Multi-Body: Fix horizontal DragScroll and Mousewheel translation
stateClosed
labels
bugaigrid
assigneestobiu
createdAtMar 31, 2026, 4:58 PM
updatedAtMar 31, 2026, 5:00 PM
githubUrlhttps://github.com/neomjs/neo/issues/9613
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMar 31, 2026, 5:00 PM

Grid Multi-Body: Fix horizontal DragScroll and Mousewheel translation

Closedbugaigrid
tobiu
tobiu commented on Mar 31, 2026, 4:58 PM

Problem: Under the new Multi-Body Architecture, the horizontal scroll container has been decoupled into the `HorizontalScrollbar`, and the `bodyWrapper` operates under `overflow-x: hidden`. This decoupling caused the browser to ignore native horizontal trackpad panning (wheel events) within the grid body. Additionally, the `GridDragScroll` addon still targets the old `gridContainer` for horizontal updates instead of the new decoupled scrollbar.

Solution:

  1. Update `ScrollManager.mjs` to explicitly pass the decoupled `horizontalScrollbar?.id` as the `containerId` for `GridDragScroll.mjs`.
  2. Enhance `GridHorizontalScrollSync.mjs` to intercept `wheel` events on the `bodyWrapper` and forward any `deltaX` movement directly to the `HorizontalScrollbar`, seamlessly bridging trackpad scrolling back into the sync loop.
tobiu added the bug label on Mar 31, 2026, 4:58 PM
tobiu added the ai label on Mar 31, 2026, 4:58 PM
tobiu added the grid label on Mar 31, 2026, 4:58 PM
tobiu referenced in commit d9d181d - "fix: Restore horizontal trackpad and drag scrolling under Multi-Body Architecture (#9613)" on Mar 31, 2026, 5:00 PM
tobiu assigned to @tobiu on Mar 31, 2026, 5:00 PM
tobiu
tobiu Mar 31, 2026, 5:00 PM

Resolved. The 'overflow-x: hidden' on the new wrapper-based Multi-Body approach blocked horizontal events natively. I restored native physics by bridging horizontal trackpad events directly inside 'GridHorizontalScrollSync.mjs' and redirecting the target 'containerId' internally inside 'ScrollManager' so that GridDragScroll modifies the decoupled horizontal scrollbar.

tobiu closed this issue on Mar 31, 2026, 5:00 PM
tobiu cross-referenced by #9489 on Mar 31, 2026, 5:02 PM