LearnNewsExamplesServices
Frontmatter
id9621
titleGrid Multi-Body: Fix Header Scrolling, Flex Layout, and Single-Column Constraints
stateClosed
labels
bugaigrid
assignees[]
createdAtApr 1, 2026, 9:05 PM
updatedAtApr 1, 2026, 9:11 PM
githubUrlhttps://github.com/neomjs/neo/issues/9621
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtApr 1, 2026, 9:11 PM

Grid Multi-Body: Fix Header Scrolling, Flex Layout, and Single-Column Constraints

Closedbugaigrid
tobiu
tobiu commented on Apr 1, 2026, 9:05 PM

Problem

In the Multi-Body Grid Architecture, several related bugs prevent proper viewing of locked headers and single-column sub-grids:

  1. GridBody.createViewData() aborts early if mountedColumns[1] < 1. Single-column grids (like the locked-end DevIndex column) have a max index of 0, so they render 0 rows.
  2. Container.beforeSetHeaderToolbar() gives headerToolbar (the center header) flex: 'none'. This causes it to expand infinitely based on inner buttons, pushing headerEnd out of the viewport.
  3. ScrollManager.updateGridHorizontalScrollSyncAddon() applies horizontal scrolling to headerWrapper instead of headerToolbar, translating the entire header row out of view instead of just the center columns.
  4. Container.syncBodies() incorrectly pushes horizontal scrollLeft to bodyStart and bodyEnd, causing them to incorrectly cull their columns because they falsely evaluate as being "off-screen".

Implementation Plan

  • GridBody: Fix culling threshold mountedColumns[1] < 0.
  • Container: Apply flex: 1 to headerToolbar.
  • Container.syncBodies: Only apply scrollLeft to the center body.
  • ScrollManager: Change headerId to target headerToolbar.
tobiu added the bug label on Apr 1, 2026, 9:05 PM
tobiu added the ai label on Apr 1, 2026, 9:05 PM
tobiu added the grid label on Apr 1, 2026, 9:05 PM
tobiu referenced in commit 7ae7771 - "fix(grid): multi-body header flex layout and subgrid single-column parsing (#9621)" on Apr 1, 2026, 9:10 PM
tobiu
tobiu Apr 1, 2026, 9:11 PM

Implemented and pushed to dev.

tobiu closed this issue on Apr 1, 2026, 9:11 PM
tobiu referenced in commit ce5723f - "feat: Stabilize multi-body component mounting and flex layouts (#9621) on Apr 1, 2026, 9:39 PM