Skip to content

Grid: Implement Mathematical Column Layout Engine #9457

@tobiu

Description

@tobiu

This is a sub-task of Epic #9456 (Buffered Grid - High-Performance Locked Columns).

Context:
Currently, grid.header.Toolbar#passSizeToBody calculates column x positions by calling getDomRect on the header items.
This poses a problem for locked columns using CSS transforms (transform: translateX). getDomRect will return the visually transformed layout coordinates, breaking the logical representation of the Grid's layout state.

Task:
Refactor the column layout calculation in GridContainer / HeaderToolbar so that columnPositions.x is calculated mathematically.

  • Logical X should equal the sum of the widths (including borders/margins) of all preceding columns in the items array.
  • This entirely decouples logical x layout from visual CSS states and avoids the need for asynchronous getDomRect queries on individual header buttons, improving startup performance.

Note: The Container width and Toolbar height/width still need to be measured once for container sizing.

Metadata

Metadata

Assignees

Labels

aienhancementNew feature or requestgridRelated to the Neo.grid package

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions