57 lines
2.0 KiB
Markdown
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 |