59 lines
2.3 KiB
Markdown
59 lines
2.3 KiB
Markdown
# Story 2.5: Exclusion Non-Destructive de Données
|
|
|
|
Status: review
|
|
|
|
## Story
|
|
|
|
As a Julien (Analyst),
|
|
I want to toggle the inclusion of specific rows in the analysis,
|
|
so that I can test different scenarios without deleting data.
|
|
|
|
## Acceptance Criteria
|
|
|
|
1. **Row Toggle:** Users can click a "checkbox" or a specific "Exclude" button on each row.
|
|
2. **Visual Feedback:** Excluded rows are visually dimmed (e.g., 30% opacity) and struck through.
|
|
3. **Bulk Toggle:** Ability to exclude all filtered rows or all rows matching a criteria (already partially covered by Epic 2.4).
|
|
4. **State Persistence:** Exclusion state is tracked in the global store.
|
|
5. **Impact on Analysis:** The data sent to subsequent analysis engines (Correlation, Regression) MUST exclude these rows.
|
|
|
|
## Tasks / Subtasks
|
|
|
|
- [x] **Grid UI Update** (AC: 1, 2)
|
|
- [x] Add an `Exclude` column with a toggle switch or button to the `SmartGrid`.
|
|
- [x] Implement conditional styling for the entire row based on exclusion state.
|
|
- [x] **State Logic** (AC: 4)
|
|
- [x] Ensure `excludedRows` in `useGridStore` is properly integrated with all UI components.
|
|
- [x] **Data Pipeline Prep** (AC: 5)
|
|
- [x] Create a selector/helper `getCleanData()` that returns the dataset minus the excluded rows.
|
|
|
|
## Dev Notes
|
|
|
|
- **UX:** Added a dedicated "Eye/EyeOff" icon column for quick row exclusion toggling.
|
|
- **Visuals:** Excluded rows use `opacity-30`, `line-through`, and a darker background to clearly distinguish them from active data.
|
|
- **Selector:** The `getCleanData` function in the store ensures all future analysis steps only receive valid, included rows.
|
|
|
|
### Project Structure Notes
|
|
|
|
- Modified `frontend/src/store/use-grid-store.ts`.
|
|
- Updated `frontend/src/features/smart-grid/components/SmartGrid.tsx`.
|
|
|
|
### References
|
|
|
|
- [Source: epics.md#Story 2.5]
|
|
- [Source: ux-design-specification.md#2.5 Experience Mechanics]
|
|
|
|
## Dev Agent Record
|
|
|
|
### Agent Model Used
|
|
|
|
{{agent_model_name_version}}
|
|
|
|
### Completion Notes List
|
|
- Implemented a "soft delete" system for row exclusion.
|
|
- Added visual indicators (strike-through and dimming) for excluded rows.
|
|
- Created a `getCleanData` selector to facilitate downstream statistical modeling.
|
|
- Integrated row-level toggle buttons directly in the SmartGrid.
|
|
|
|
### File List
|
|
- /frontend/src/store/use-grid-store.ts
|
|
- /frontend/src/features/smart-grid/components/SmartGrid.tsx |