You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(grid): rows-per-page selector honors pagination.pageSizeOptions; drop duplicate ListView <select> (#1919)
* fix(grid): rows-per-page selector honors pagination.pageSizeOptions; drop duplicate ListView <select>
The DataTable pager hardcoded its rows-per-page choices to 5/10/20/50/100,
ignoring view metadata, while ListView separately rendered its own native
<select> from pagination.pageSizeOptions. For a grid that produced TWO
page-size controls with different option sets.
- data-table: add pageSizeOptions prop; the selector renders the configured
options (current pageSize merged in, de-duped, sorted) instead of the
hardcoded list.
- ObjectGrid: forward schema.pagination.pageSizeOptions to the DataTable so
the single server-driven pager exposes the configured choices.
- ListView: suppress the redundant native <select> for grid view (the
DataTable pager owns it); keep it only for pager-less views (gallery/
kanban/calendar).
- types/zod: declare DataTableSchema.pageSizeOptions.
Follow-up to #1916 (#2212). Verified in browser against a 3125-row plan grid:
single selector with 50/100/200/500, switching 500 -> 7 pages, last page
loads the 125-row remainder.
* fix(grid): align selection checkbox column header with body; pad pager
- selection checkbox: header (px-4) and body (px-3 from cellClassName) cells
had mismatched left padding, so the header checkbox sat ~4px right of the
body checkboxes. Force both selection cells to px-0 + text-center so the
checkbox centers in the column identically (verified: both at x=264).
- pagination footer: the rows-per-page / page-info row had no horizontal
padding and sat flush against the table edge. Add px-3 sm:px-4 py-2 to
match the table cells and the grouped pager.
* fix(data-table): restore left gutter on selection column
The previous px-0 fix aligned the header/body checkboxes but removed the
column's left padding entirely, leaving the checkboxes flush against the
table's left border. Use px-3 (matching the data cells) on both the header
and body selection cells: identical padding keeps the checkboxes aligned
while restoring a 12px left gutter.
* fix(grid): align column headers with body cell padding
Root cause of the header/content misalignment: ObjectGrid's applyDensity
gave every body cell px-3 (12px) via rowHeightCellClass but left the
header at the primitive <th> default px-4 (16px), so every left-aligned
header label sat 4px to the right of its data. Add px-3 to the header
className in applyDensity (and the right-pinned branch) so headers share
the body's horizontal padding. Also align the row-number (#) header to
px-3 in data-table. Verified: all 16 columns now match (0 mismatches).
0 commit comments