a2n-seattle / a2n-seattle/rms-app
Replace Select All/Select None buttons with a single tri-state header checkbox
- Ngôn ngữ chính
- TypeScript
- Star
- 1
- Fork
- 1
- Merge trung bình
- 27 phút
- Pull request đã merge (30 ngày)
- 4
Mô tả
# Why?
**As a** user selecting multiple rows in the resources/items table
**I want** one checkbox in the table's top-left header that reflects and controls the selection state
**So that** the interaction matches standard table UX (e.g. Gmail-style select-all) instead of two separate buttons.
# What?
Replace the current "Select All" / "Select None" buttons (wherever the multi-select resources/items table lives — likely `web/app/(protected)/browse/page.tsx` or its Phase 4 successor, plus `web/components/ui/Table`-style primitives) with a single checkbox in the table header's top-left cell:
- **All rows selected** → header checkbox shows checked. Clicking it deselects all.
- **No rows selected** → header checkbox shows unchecked. Clicking it selects all.
- **Some (not all) rows selected** → header checkbox shows indeterminate (a dash, via the DOM `indeterminate` property — not achievable via a plain `checked` attribute alone). Clicking it selects all (mirrors common table UX: partial → select all → none).
# Testing
Jest/RTL test covering all three states and the click transitions between them (all→none, none→all, partial→all).
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.