a2n-seattle / a2n-seattle/rms-app

Replace Select All/Select None buttons with a single tri-state header checkbox

Đang mở
#354 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
idea priority-low
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á.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.