Skip to content

Feat/611 universal data grid - #633

Merged
lishmanTech merged 2 commits into
Gatheraa:mainfrom
ThatCodeBabe:feat/611-universal-data-grid
Jul 24, 2026
Merged

Feat/611 universal data grid#633
lishmanTech merged 2 commits into
Gatheraa:mainfrom
ThatCodeBabe:feat/611-universal-data-grid

Conversation

@ThatCodeBabe

Copy link
Copy Markdown
Contributor

Summary

closes #611

  • Built on @tanstack/react-table + @tanstack/react-virtual for sorting, filtering, column pinning, and row virtualization
  • Row virtualization renders only visible rows, tested against a 5,000-row synthetic dataset
  • Per-column text filtering (substring match, debounced)
  • Click-to-sort headers (asc → desc → none)
  • Column pinning left/right via a per-header pin menu, with sticky positioning
  • Export CSV button exports the currently filtered + sorted rowset
  • Full WAI-ARIA grid keyboard navigation: arrow keys move focus between cells, Enter/Space sorts a focused header column, Tab reaches toolbar and filter inputs
  • Wired into app/demo/page.tsx alongside existing demo components

Acceptance criteria

  • Virtualization
  • Sorting
  • Filtering
  • Column pinning
  • Export
  • Keyboard accessibility

Test plan

  • tsc --noEmit — no errors in new/modified files
  • eslint — no errors or warnings in new/modified files
  • Manually verified in a running dev server (Playwright-driven): sorted a column, filtered Ticket Type down to 22 VIP rows out of 5,000, pinned the Email column left, arrow-key + Enter keyboard navigation, triggered a real CSV download, no console errors

…heraa#611)

Adds a generic, typed enterprise-grade data grid built on
@tanstack/react-table and @tanstack/react-virtual: virtualized rows,
per-column sorting and text filtering, left/right column pinning,
CSV export, and full WAI-ARIA grid keyboard navigation. Wired into
the demo page with a 5,000-row synthetic attendee dataset.
@ThatCodeBabe
ThatCodeBabe force-pushed the feat/611-universal-data-grid branch from ed49ee4 to 65df2a4 Compare July 24, 2026 12:14
@lishmanTech
lishmanTech merged commit da086ec into Gatheraa:main Jul 24, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build a UniversalDataGrid Component

2 participants