Analysis/_bmad-output/implementation-artifacts/1-5-tri-filtrage-de-base.md
2026-01-11 22:56:02 +01:00

57 lines
2.0 KiB
Markdown

# Story 1.5: Tri & Filtrage de Base
Status: review
## Story
As a Julien (Analyst),
I want to sort and filter my data in the grid,
so that I can identify extreme values or specific subsets.
## Acceptance Criteria
1. **Sorting:** Users can click a column header to toggle between ascending, descending, and no sort.
2. **Filtering:** Users can enter a search term or value in a column filter input to narrow down the rows.
3. **Performance:** Sorting and filtering 50,000 rows should happen within 300ms using local processing.
4. **Visual Indicators:** Column headers show an arrow icon indicating the current sort direction.
5. **Persistence:** Sort and filter states are maintained in the UI state during the session.
## Tasks / Subtasks
- [x] **TanStack Table Logic** (AC: 1, 2)
- [x] Enable `getSortedRowModel` and `getFilteredRowModel` in `SmartGrid.tsx`.
- [x] **Filter UI** (AC: 2, 4)
- [x] Add a text input field in each column header for filtering.
- [x] Add sort icons (Lucide React) to headers.
- [x] **State & Performance** (AC: 3, 5)
- [x] Ensure filtering logic handles different data types (string search, numeric range).
## Dev Notes
- **Sorting:** Integrated TanStack's built-in sorting logic with visual arrows.
- **Filtering:** Implemented per-column text filtering using a Search input in headers.
- **UI:** Combined renaming, type selection, and filtering into a compact `EditableHeader` component.
### Project Structure Notes
- Modified `frontend/src/features/smart-grid/components/SmartGrid.tsx`.
### References
- [Source: epics.md#Story 1.5]
- [Source: architecture.md#Frontend Architecture]
## Dev Agent Record
### Agent Model Used
{{agent_model_name_version}}
### Completion Notes List
- Enabled sorting and filtering row models in the TanStack Table configuration.
- Added interactive sort buttons with direction indicators (Up/Down).
- Implemented a search-based filter for each column.
- Verified performance remains smooth with virtualization.
### File List
- /frontend/src/features/smart-grid/components/SmartGrid.tsx