fix: skip filler rows in data-table when pagination is disabled#871
Merged
fix: skip filler rows in data-table when pagination is disabled#871
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
When grouping is enabled in list view, each group renders a data-table with pagination=false but inherits pageSize=10. This caused the filler row logic to pad each group with empty rows up to pageSize, creating many blank lines. Fix by only rendering filler rows when pagination is enabled. Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix empty rows in list view group mode
fix: skip filler rows in data-table when pagination is disabled
Feb 26, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes excessive empty rows in grouped list views by preventing DataTableRenderer from rendering filler rows when pagination is disabled (even if pageSize is set).
Changes:
- Gate filler row rendering on
paginationbeing enabled inDataTableRenderer. - Add tests covering filler-row behavior for
pagination: falsevspagination: true. - Document the root cause, fix, and test coverage update in
ROADMAP.md.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| packages/components/src/renderers/complex/data-table.tsx | Skip rendering filler rows unless pagination is enabled. |
| packages/components/src/renderers/complex/tests/data-table-airtable-ux.test.tsx | Adds assertions for filler row presence/absence depending on pagination. |
| ROADMAP.md | Records the bug’s root cause and the implemented fix + tests. |
Comments suppressed due to low confidence (1)
packages/components/src/renderers/complex/data-table.tsx:927
- Filler row colSpan doesn’t include the optional row-numbers column. When
showRowNumbersis true, data rows include an extra cell but filler rows span one fewer column, which can misalign the table layout. Consider matching the other colSpan calculations in this component by adding(showRowNumbers ? 1 : 0)here as well (and any other optional leading columns).
{pagination && paginatedData.length > 0 && Array.from({ length: Math.max(0, pageSize - paginatedData.length) }).map((_, i) => (
<TableRow key={`empty-${i}`} className="hover:bg-transparent">
<TableCell colSpan={columns.length + (selectable ? 1 : 0) + (rowActions ? 1 : 0)} className="h-[52px] p-0" />
</TableRow>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Grouped list view renders excessive empty rows because each group's data-table inherits
pageSize: 10while settingpagination: false. The filler row logic pads every group to 10 rows regardless.Change
In
data-table.tsx, gate filler row rendering onpaginationbeing enabled:Filler rows exist to maintain consistent page height during pagination — they have no purpose when pagination is off (grouped views, embedded tables).
Tests
pagination: falsewithpageSize: 10pagination: trueOriginal prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.