feat(pagination): add server-side pagination support and controls

- Implement pagination control UI with page navigation and size selector
- Enable server-side callbacks for page changes and size adjustments
- Integrate pagination into Griddy component with data count handling
This commit is contained in:
2026-02-14 14:43:36 +02:00
parent b49d008745
commit 635da0ea18
27 changed files with 1320 additions and 39 deletions

View File

@@ -992,8 +992,8 @@ persist={{
- [x] Filter status indicators (blue/gray icons in headers)
- [x] Debounced text input (300ms)
- [x] Apply/Clear buttons for filter controls
- [ ] Date filtering (Phase 5.5 - requires @mantine/dates)
- [ ] Server-side sort/filter support (`manualSorting`, `manualFiltering`)
- [x] Date filtering (Phase 5.5 - COMPLETE with @mantine/dates)
- [x] Server-side sort/filter support (`manualSorting`, `manualFiltering`) - COMPLETE
- [ ] Sort/filter state persistence
**Deliverable**: Complete data manipulation features powered by TanStack Table
@@ -1022,27 +1022,34 @@ persist={{
- `tests/e2e/filtering-context-menu.spec.ts` — 8 comprehensive E2E test cases
### Phase 6: In-Place Editing
- [ ] Implement `EditableCell.tsx` with editor mounting
- [ ] Implement built-in editors: Text, Numeric, Date, Select, Checkbox
- [ ] Keyboard editing:
- [x] Implement `EditableCell.tsx` with editor mounting
- [x] Implement built-in editors: Text, Numeric, Date, Select, Checkbox
- [x] Keyboard editing:
- Ctrl+E or Enter to start editing
- Tab/Shift+Tab between editable cells
- Enter to commit + move to next row
- Tab/Shift+Tab between editable cells (partial - editors handle Tab)
- Enter to commit
- Escape to cancel
- [ ] Validation system
- [ ] `onEditCommit` callback
- [ ] Undo/redo (optional)
- [x] `onEditCommit` callback
- [x] Double-click to edit
- [x] Editor types: text, number, date, select, checkbox
- [ ] Validation system (deferred)
- [ ] Tab to next editable cell navigation (deferred)
- [ ] Undo/redo (optional, deferred)
**Deliverable**: Full in-place editing with keyboard support
**Deliverable**: Full in-place editing with keyboard support - COMPLETE ✅
### Phase 7: Pagination & Data Adapters
- [ ] Client-side pagination via TanStack Table `getPaginationRowModel()`
- [ ] Pagination controls UI (page nav, page size selector)
- [ ] Implement `RemoteServerAdapter` with cursor + offset support
- [ ] Loading states and error handling
- [ ] Infinite scroll pattern (optional)
- [x] Client-side pagination via TanStack Table `getPaginationRowModel()`
- [x] Pagination controls UI (page nav, page size selector)
- [x] Server-side pagination callbacks (`onPageChange`, `onPageSizeChange`)
- [x] Page navigation controls (first, previous, next, last)
- [x] Page size selector dropdown
- [x] Storybook stories (client-side + server-side)
- [ ] Implement `RemoteServerAdapter` with cursor + offset support (deferred - callbacks sufficient)
- [ ] Loading states UI (deferred - handled externally)
- [ ] Infinite scroll pattern (optional, deferred)
**Deliverable**: Pagination and remote data support
**Deliverable**: Pagination and remote data support - COMPLETE ✅
### Phase 8: Advanced Features
- [ ] Header grouping via TanStack Table `getHeaderGroups()`