From cd6d33f4ad7b27253d3eb1a7b9877496b4bc7b31 Mon Sep 17 00:00:00 2001 From: Ricky Zhang Date: Thu, 29 Oct 2026 17:35:13 -0400 Subject: [PATCH 1/3] DataTable: add selection to collapsible groups --- .changeset/tidy-groups-select.md | 5 + e2e/components/DataTable.test.ts | 14 ++- .../src/DataTable/DataTable.accessibility.md | 11 +- .../react/src/DataTable/DataTable.docs.json | 17 ++- .../DataTable/DataTable.features.stories.tsx | 30 +++-- packages/react/src/DataTable/DataTable.tsx | 5 + packages/react/src/DataTable/Table.module.css | 20 ++++ packages/react/src/DataTable/TableGroup.tsx | 72 +++++++----- .../__tests__/DataTableExpansion.test.tsx | 38 +++++-- .../DataTableGroupSelection.test.tsx | 105 ++++++++++++++++++ packages/react/src/DataTable/useTable.ts | 30 ++++- 11 files changed, 288 insertions(+), 59 deletions(-) create mode 100644 .changeset/tidy-groups-select.md create mode 100644 packages/react/src/DataTable/__tests__/DataTableGroupSelection.test.tsx diff --git a/.changeset/tidy-groups-select.md b/.changeset/tidy-groups-select.md new file mode 100644 index 00000000000..8696076f333 --- /dev/null +++ b/.changeset/tidy-groups-select.md @@ -0,0 +1,5 @@ +--- +'@primer/react': minor +--- + +DataTable: Add selection checkboxes to collapsible groups, aligned with row checkboxes. Table.Group supports controlled group selection. diff --git a/e2e/components/DataTable.test.ts b/e2e/components/DataTable.test.ts index 4911c9cbdee..174bdaedb79 100644 --- a/e2e/components/DataTable.test.ts +++ b/e2e/components/DataTable.test.ts @@ -86,13 +86,15 @@ test.describe('DataTable', () => { await page.keyboard.press('Space') await expect(disclosure).toHaveAttribute('aria-expanded', 'false') await expect(disclosure).toBeFocused() - await expect(page.getByRole('checkbox', {name: 'Select strapi', exact: true})).toHaveCount(0) + await expect(page.getByRole('checkbox', {name: 'Select primer/css', exact: true})).toHaveCount(0) const bodyId = await disclosure.getAttribute('aria-controls') await expect(page.locator(`[id="${bodyId}"]`)).toBeHidden() - await page.getByRole('checkbox', {name: 'Select rows', exact: true}).check() + const groupCheckbox = page.getByRole('checkbox', {name: 'Select Public', exact: true}) + await groupCheckbox.check() + await expect(disclosure).toHaveAttribute('aria-expanded', 'false') await disclosure.focus() await page.keyboard.press('Enter') - const member = page.getByRole('checkbox', {name: 'Select strapi', exact: true}) + const member = page.getByRole('checkbox', {name: 'Select primer/css', exact: true}) await expect(member).toBeChecked() await member.focus() // A programmatic control activation models an external controlled update. @@ -100,7 +102,7 @@ test.describe('DataTable', () => { await expect(disclosure).toBeFocused() await expect(page.locator(`[id="${bodyId}"]`)).toBeHidden() await page.keyboard.press('Shift+Tab') - await expect(page.getByRole('button', {name: 'Internal', exact: true})).toBeFocused() + await expect(groupCheckbox).toBeFocused() await page.keyboard.press('Tab') await expect(disclosure).toBeFocused() await page.keyboard.press('Tab') @@ -159,7 +161,7 @@ test.describe('DataTable', () => { await visit(page, {id: story.id, globals: {colorScheme: theme}}) const selectAll = page.getByRole('checkbox', {name: 'Select rows', exact: true}) if (state === 'mixed') { - await page.getByRole('checkbox', {name: 'Select strapi', exact: true}).click() + await page.getByRole('checkbox', {name: 'Select primer/css', exact: true}).click() await expect(selectAll).toBeChecked({indeterminate: true}) } else { await selectAll.click() @@ -205,7 +207,7 @@ test.describe('DataTable', () => { test('standalone and grouped selection stays wired through keyboard input and sorting @aat', async ({page}) => { await visit(page, {id: 'experimental-components-datatable-features--with-standalone-and-grouped-row-selection'}) const standalone = page.getByRole('checkbox', {name: 'Select codeql-dca-worker', exact: true}) - const grouped = page.getByRole('checkbox', {name: 'Select strapi', exact: true}) + const grouped = page.getByRole('checkbox', {name: 'Select primer/css', exact: true}) const selectAll = page.getByRole('checkbox', {name: 'Select rows', exact: true}) await expect(standalone).toBeEnabled() diff --git a/packages/react/src/DataTable/DataTable.accessibility.md b/packages/react/src/DataTable/DataTable.accessibility.md index 96b5a190124..ddda51ba395 100644 --- a/packages/react/src/DataTable/DataTable.accessibility.md +++ b/packages/react/src/DataTable/DataTable.accessibility.md @@ -239,7 +239,7 @@ The fragments below show these associations; `sr-only` denotes hidden text. Without a row header, `DataTable` uses `Select row {id}` from `getRowId`. Place selection first and include it in group `colSpan`. `Table.Group` prepends -its header ID to selection cells' `headers`; group headings have no checkbox. +its header ID to selection cells' `headers`. Group headers are not selected row IDs. ### State, scope, and focus @@ -272,6 +272,13 @@ row count. The generated count description is currently English. disclosure. Focus outside the group is left alone. - Collapse does not clear selection or change its scope. +With `rowSelection`, each collapsible group has a checkbox named `Select {group name}`. +It toggles the group's selectable members on the current page, including collapsed +members. Partial selection is mixed; activating it selects the remaining members. +Empty groups and groups without selectable members have disabled checkboxes. +The checkbox precedes the disclosure in Tab order; selection does not toggle expansion. +With `Table.Group`, consumers provide `selection`, `selectionDisabled`, and `onToggleSelect`. + ## Verification - [Grouping tests](./__tests__/DataTableGrouping.test.tsx) cover mixed body @@ -283,6 +290,8 @@ row count. The generated count description is currently English. updates, disabled rows, focus, and hydration. - [Expansion tests](./__tests__/DataTableExpansion.test.tsx) cover disclosure semantics, focus recovery, hidden members, and selection compatibility. +- [Group selection tests](./__tests__/DataTableGroupSelection.test.tsx) cover mixed + state, collapsed members, disabled groups, and controlled selection. - [DataTable browser tests](../../../../e2e/components/DataTable.test.ts) cover themed axe checks, visual snapshots, and a group split across pages. - [Table browser tests](../../../../e2e/components/Table.test.ts) cover explicit diff --git a/packages/react/src/DataTable/DataTable.docs.json b/packages/react/src/DataTable/DataTable.docs.json index 0cf2dca2360..96865d87aa6 100644 --- a/packages/react/src/DataTable/DataTable.docs.json +++ b/packages/react/src/DataTable/DataTable.docs.json @@ -101,7 +101,7 @@ { "name": "rowSelection", "type": "boolean", - "description": "Render row checkboxes and a select-all checkbox for the current page." + "description": "Render row checkboxes and current-page select-all. Collapsible groups also get a checkbox for their selectable members." }, { "name": "selectedRows", @@ -269,6 +269,21 @@ "type": "({ expanded }: { expanded: boolean }) => void", "description": "Handle a disclosure request. Controlled groups wait for the expanded prop to update." }, + { + "name": "selection", + "type": "'all' | 'some' | 'none'", + "description": "Render a group checkbox with the given selection state." + }, + { + "name": "selectionDisabled", + "type": "boolean", + "description": "Disable the group checkbox without disabling its disclosure." + }, + { + "name": "onToggleSelect", + "type": "() => void", + "description": "Handle group checkbox activation. Consumers own member selection." + }, { "name": "id", "type": "string | number", diff --git a/packages/react/src/DataTable/DataTable.features.stories.tsx b/packages/react/src/DataTable/DataTable.features.stories.tsx index 44de054828f..a517a0fc3a3 100644 --- a/packages/react/src/DataTable/DataTable.features.stories.tsx +++ b/packages/react/src/DataTable/DataTable.features.stories.tsx @@ -1822,30 +1822,38 @@ const sortableGroupedColumns = [ export const WithCollapsibleGroups = () => { const titleId = React.useId() - const [expandedGroups, setExpandedGroups] = React.useState>( - () => new Set(['internal', 'public']), - ) - const [selectedRows, setSelectedRows] = React.useState>(() => new Set()) + const [expandedGroups, setExpandedGroups] = React.useState>(() => new Set(['public'])) return ( - Collapsible repositories by visibility + Repositories - + setExpandedGroups(expandedGroups)} rowSelection - selectedRows={selectedRows} - onSelectionChange={({selectedRows}) => setSelectedRows(selectedRows)} - isRowSelectable={repo => repo.id !== 1} + defaultSelectedRows={new Set(['react'])} /> ) diff --git a/packages/react/src/DataTable/DataTable.tsx b/packages/react/src/DataTable/DataTable.tsx index c31ee59f967..f72e9172f67 100644 --- a/packages/react/src/DataTable/DataTable.tsx +++ b/packages/react/src/DataTable/DataTable.tsx @@ -283,6 +283,11 @@ function DataTableImplementation({ aria-label={body['aria-label']} collapsible={collapsibleGroups} expanded={body.expanded} + selection={rowSelection && collapsibleGroups ? body.selection : undefined} + selectionDisabled={!body.selectable} + onToggleSelect={() => { + actions.toggleGroupSelection(body) + }} onExpandedChange={() => { actions.toggleGroupExpansion(body) }} diff --git a/packages/react/src/DataTable/Table.module.css b/packages/react/src/DataTable/Table.module.css index c03d844fa3e..b11efc3117f 100644 --- a/packages/react/src/DataTable/Table.module.css +++ b/packages/react/src/DataTable/Table.module.css @@ -320,12 +320,31 @@ border-block-end: var(--borderWidth-thin) solid var(--borderColor-default); } +.TableGroupHeaderTitle { + display: flex; + align-items: center; + column-gap: inherit; + + &:where([data-selection]) { + column-gap: var(--base-size-8); + } +} + .TableGroupHeaderContent { display: flex; align-items: baseline; column-gap: var(--base-size-8); } +.TableGroupSelection { + flex-shrink: 0; +} + +:where(.TableBody[data-selection] > .TableRow) > .TableCell:nth-child(2)::before { + content: ''; + flex: 0 0 var(--base-size-24); +} + .TableGroupHeaderLabel { font-weight: var(--base-text-weight-semibold); color: var(--fgColor-default); @@ -345,6 +364,7 @@ height: var(--base-size-24); /* Center the hit target over the same 16px slot as a selection checkbox. */ margin-inline: calc((var(--base-size-16) - var(--base-size-24)) / 2); + margin-block: calc(-1 * var(--base-size-2)); color: var(--fgColor-default); align-items: center; justify-content: center; diff --git a/packages/react/src/DataTable/TableGroup.tsx b/packages/react/src/DataTable/TableGroup.tsx index 5a68cdef8ba..0b9d2b88850 100644 --- a/packages/react/src/DataTable/TableGroup.tsx +++ b/packages/react/src/DataTable/TableGroup.tsx @@ -2,6 +2,7 @@ import {clsx} from 'clsx' import type React from 'react' import {useCallback, useId, useMemo, useRef} from 'react' import {ChevronRightIcon} from '@primer/octicons-react' +import Checkbox from '../Checkbox' import {VisuallyHidden} from '../VisuallyHidden' import {Button} from '../internal/components/ButtonReset' import {useControllableState} from '../hooks/useControllableState' @@ -61,6 +62,9 @@ export type TableGroupProps = { * Handles requests to change the expanded state. */ onExpandedChange?: ({expanded}: {expanded: boolean}) => void + selection?: 'all' | 'some' | 'none' + selectionDisabled?: boolean + onToggleSelect?: () => void } function TableGroup({ @@ -75,6 +79,9 @@ function TableGroup({ expanded: controlledExpanded, defaultExpanded = true, onExpandedChange, + selection, + selectionDisabled, + onToggleSelect, }: TableGroupProps) { const headerId = useId() const bodyId = useId() @@ -114,35 +121,47 @@ function TableGroup({ scope="colgroup" colSpan={colSpan} role="columnheader" - aria-label={collapsible ? (ariaLabel ?? label) : ariaLabel} + aria-label={collapsible || selection !== undefined ? (ariaLabel ?? label) : ariaLabel} data-component="Table.Group.Header" > - {collapsible ? ( - + {selection !== undefined ? ( + onToggleSelect?.()} + /> ) : null} - - - {label} - , - - - {rowCount} - {rowCount === 1 ? ' row' : ' rows'} + + {collapsible ? ( + + ) : null} + + + {label} + , + + + {rowCount} + {rowCount === 1 ? ' row' : ' rows'} + @@ -156,6 +175,7 @@ function TableGroup({ role="rowgroup" data-component="Table.Group.Body" data-group-id={id} + data-selection={collapsible ? selection : undefined} > {children} diff --git a/packages/react/src/DataTable/__tests__/DataTableExpansion.test.tsx b/packages/react/src/DataTable/__tests__/DataTableExpansion.test.tsx index a43235b9e3c..a16d61edb54 100644 --- a/packages/react/src/DataTable/__tests__/DataTableExpansion.test.tsx +++ b/packages/react/src/DataTable/__tests__/DataTableExpansion.test.tsx @@ -3,6 +3,7 @@ import userEvent from '@testing-library/user-event' import {hydrateRoot} from 'react-dom/client' import {renderToString} from 'react-dom/server' import {describe, expect, it, vi} from 'vitest' +import {page, userEvent as browserUserEvent} from 'vitest/browser' import {DataTable, Table} from '../../DataTable' import {implementsClassName} from '../../utils/testing' import classes from '../Table.module.css' @@ -159,9 +160,8 @@ describe('DataTable group expansion', () => { describe.each(['ltr', 'rtl'] as const)('alignment (%s)', dir => { it.each(['condensed', 'normal', 'spacious'] as const)( - 'aligns disclosures, checkboxes and text with %s cell padding', + 'aligns group checkboxes and member text at %s cell padding', async cellPadding => { - const user = userEvent.setup() render(
{ />
, ) - const disclosure = screen.getByRole('button', {name: 'First'}) - const label = screen.getByText('First') + const disclosure = page.getByRole('button', {name: 'First', exact: true}) + const groupHeader = page.getByRole('columnheader', {name: 'First', exact: true}).element() + const label = groupHeader.querySelector('.TableGroupHeaderLabel')! + const columnHeader = page.getByRole('columnheader', {name: 'Name', exact: true}).element() + const selectAll = page.getByRole('checkbox', {name: 'Select rows', exact: true}).element() + const rowHeader = page.getByRole('rowheader', {name: 'Beta', exact: true}).element() + const rowHeight = rowHeader.getBoundingClientRect().height const textRange = document.createRange() - textRange.selectNodeContents(screen.getByRole('rowheader', {name: 'Beta'})) + textRange.selectNodeContents(rowHeader) const rowText = textRange.getBoundingClientRect() - textRange.selectNodeContents(screen.getByRole('columnheader', {name: 'Name'})) + textRange.selectNodeContents(columnHeader) const columnText = textRange.getBoundingClientRect() + textRange.selectNodeContents(page.getByRole('rowheader', {name: 'Standalone', exact: true}).element()) + const standaloneText = textRange.getBoundingClientRect() const inlineStart = (rect: DOMRect) => (dir === 'rtl' ? rect.right : rect.left) for (const expanded of [true, false]) { if (!expanded) { - await user.click(disclosure) + await browserUserEvent.click(disclosure) } - const buttonRect = disclosure.getBoundingClientRect() + const buttonRect = disclosure.element().getBoundingClientRect() + const iconRect = disclosure.element().querySelector('svg')!.getBoundingClientRect() const labelRect = label.getBoundingClientRect() - for (const checkbox of screen.getAllByRole('checkbox')) { + const selectAllRect = selectAll.getBoundingClientRect() + for (const checkbox of page.getByRole('checkbox').elements()) { const checkboxRect = checkbox.getBoundingClientRect() expect( - Math.abs(buttonRect.x + buttonRect.width / 2 - checkboxRect.x - checkboxRect.width / 2), + Math.abs(selectAllRect.x + selectAllRect.width / 2 - checkboxRect.x - checkboxRect.width / 2), ).toBeLessThan(0.5) } expect(Math.abs(inlineStart(labelRect) - inlineStart(rowText))).toBeLessThan(0.5) - expect(Math.abs(inlineStart(labelRect) - inlineStart(columnText))).toBeLessThan(0.5) + expect(Math.abs(inlineStart(iconRect) - inlineStart(columnText))).toBeLessThan(0.5) + expect(Math.abs(inlineStart(standaloneText) - inlineStart(columnText))).toBeLessThan(0.5) + expect((inlineStart(labelRect) - inlineStart(iconRect)) * (dir === 'rtl' ? -1 : 1) - iconRect.width).toBe(8) expect(Math.abs(buttonRect.y + buttonRect.height / 2 - labelRect.y - labelRect.height / 2)).toBeLessThan(0.5) + expect(buttonRect.height).toBeGreaterThanOrEqual(24) + expect(groupHeader.getBoundingClientRect().height).toBe(rowHeight) + expect(groupHeader.getBoundingClientRect().height).toBeLessThanOrEqual( + columnHeader.getBoundingClientRect().height, + ) } }, ) diff --git a/packages/react/src/DataTable/__tests__/DataTableGroupSelection.test.tsx b/packages/react/src/DataTable/__tests__/DataTableGroupSelection.test.tsx new file mode 100644 index 00000000000..678d97358a3 --- /dev/null +++ b/packages/react/src/DataTable/__tests__/DataTableGroupSelection.test.tsx @@ -0,0 +1,105 @@ +import {render} from '@testing-library/react' +import {describe, expect, it, vi} from 'vitest' +import {page, userEvent} from 'vitest/browser' +import {DataTable} from '../../DataTable' +import type {Column} from '../column' +import type {DataTableData, DataTableRowId} from '../row' + +type Row = {id: DataTableRowId; name: string} + +const columns: Array> = [{header: 'Name', field: 'name', rowHeader: true}] +const data: DataTableData = [ + {id: 'standalone', name: 'Standalone'}, + { + groupId: 'public', + label: 'Public', + rows: [ + {id: 1, name: 'Alpha'}, + {id: '1', name: 'Beta'}, + {id: 2, name: 'Disabled'}, + ], + }, + {groupId: 'private', label: 'Private', rows: [{id: 3, name: 'Gamma'}]}, + {groupId: 'empty', label: 'Empty', rows: []}, +] + +describe('DataTable group selection', () => { + it('selects only selectable members, including collapsed rows, and preserves other selections', async () => { + const onSelectionChange = vi.fn() + render( + (['standalone', 3, 'off-page'])} + isRowSelectable={row => row.id !== 2} + onSelectionChange={onSelectionChange} + />, + ) + const group = page.getByRole('checkbox', {name: 'Select Public', exact: true}) + const disclosure = page.getByRole('button', {name: 'Public', exact: true}) + const selectAll = page.getByRole('checkbox', {name: 'Select rows', exact: true}) + + await expect.element(group).not.toBeChecked() + await userEvent.click(page.getByRole('checkbox', {name: 'Select Alpha', exact: true})) + await expect.element(group).toBePartiallyChecked() + await userEvent.click(disclosure) + await userEvent.tab({shift: true}) + await expect.element(group).toHaveFocus() + await userEvent.keyboard(' ') + await expect.element(group).toBeChecked() + await expect.element(group).toHaveFocus() + await expect.element(selectAll).toBeChecked() + await expect.element(disclosure).toHaveAttribute('aria-expanded', 'false') + expect(onSelectionChange).toHaveBeenLastCalledWith({ + selectedRows: new Set(['standalone', 3, 'off-page', 1, '1']), + }) + + await userEvent.click(disclosure) + await expect.element(page.getByRole('checkbox', {name: 'Select Beta', exact: true})).toBeChecked() + await expect.element(page.getByRole('checkbox', {name: 'Select Disabled', exact: true})).not.toBeChecked() + await userEvent.click(group) + await expect.element(group).not.toBeChecked() + await expect.element(selectAll).toBePartiallyChecked() + expect(onSelectionChange).toHaveBeenLastCalledWith({ + selectedRows: new Set(['standalone', 3, 'off-page']), + }) + }) + + it('requests immutable controlled updates using custom row IDs and group names', async () => { + const selectedRows = new Set(['Alpha', 'off-page']) + const onSelectionChange = vi.fn() + const props = { + data: [{groupId: 'public', label: 'Public', 'aria-label': 'Public repositories', rows: [{id: 1, name: 'Alpha'}]}], + columns, + rowSelection: true, + collapsibleGroups: true, + getRowId: (row: Row) => row.name, + onSelectionChange, + } + const {rerender} = render() + const group = page.getByRole('checkbox', {name: 'Select Public repositories', exact: true}) + await userEvent.click(group) + expect(onSelectionChange).toHaveBeenLastCalledWith({selectedRows: new Set(['off-page'])}) + expect(selectedRows).toEqual(new Set(['Alpha', 'off-page'])) + await expect.element(group).toBeChecked() + rerender() + await expect.element(group).not.toBeChecked() + }) + + it('disables empty and unselectable groups and requires both selection and collapse controls', async () => { + const {rerender} = render( + false} />, + ) + for (const name of ['Public', 'Private', 'Empty']) { + const checkbox = page.getByRole('checkbox', {name: `Select ${name}`, exact: true}) + await expect.element(checkbox).toBeDisabled() + await expect.element(checkbox).not.toBeChecked() + } + rerender() + await expect.element(page.getByRole('checkbox', {name: 'Select Public', exact: true})).not.toBeInTheDocument() + rerender() + await expect.element(page.getByRole('checkbox')).not.toBeInTheDocument() + }) +}) diff --git a/packages/react/src/DataTable/useTable.ts b/packages/react/src/DataTable/useTable.ts index 23c9cf40fc8..6f16dc3485a 100644 --- a/packages/react/src/DataTable/useTable.ts +++ b/packages/react/src/DataTable/useTable.ts @@ -30,6 +30,7 @@ interface Table { sortBy: (header: Header) => void toggleRowSelection: (row: Row) => void toggleAllRows: () => void + toggleGroupSelection: (group: RowGroup) => void toggleGroupExpansion: (group: RowGroup) => void } selection: { @@ -69,6 +70,8 @@ interface RowGroup { label: string rows: Array> expanded: boolean + selection: 'all' | 'some' | 'none' + selectable: boolean 'aria-label'?: string } @@ -337,13 +340,22 @@ export function useTable({ bodies.push(body) } const groupStartIndex = rowIndex + const rows = item.rows.map((row, index) => createRow(row, groupStartIndex + index)) + const selectableRows = rows.filter(row => row.selectable) bodies.push({ type: 'row-group', key: `group:${typeof item.groupId}:${item.groupId}`, id: item.groupId, label: item.label, - rows: item.rows.map((row, index) => createRow(row, groupStartIndex + index)), + rows, expanded: !collapsibleGroups || expandedGroups.has(item.groupId), + selection: + selectableRows.length > 0 && selectableRows.every(row => row.selected) + ? 'all' + : selectableRows.some(row => row.selected) + ? 'some' + : 'none', + selectable: selectableRows.length > 0, 'aria-label': item['aria-label'], }) rowIndex += item.rows.length @@ -379,12 +391,23 @@ export function useTable({ } function toggleAllRows() { - if (selectableRows.length === 0) { + toggleRowsSelection(selectableRows, allSelected) + } + + function toggleGroupSelection(group: RowGroup) { + toggleRowsSelection( + group.rows.filter(row => row.selectable), + group.selection === 'all', + ) + } + + function toggleRowsSelection(rows: Array>, allSelected: boolean) { + if (rows.length === 0) { return } const nextSelectedRows = new Set(selectedRows) - for (const row of selectableRows) { + for (const row of rows) { if (allSelected) { nextSelectedRows.delete(row.selectionId) } else { @@ -413,6 +436,7 @@ export function useTable({ sortBy, toggleRowSelection, toggleAllRows, + toggleGroupSelection, toggleGroupExpansion, }, selection: { From c0b2e25ac65a7fa16a7bb9891d61df13d9cb5346 Mon Sep 17 00:00:00 2001 From: Ricky Zhang Date: Thu, 29 Oct 2026 17:54:42 -0400 Subject: [PATCH 2/3] test(DataTable): fix grouped story selectors and consolidate tests --- e2e/components/DataTable.test.ts | 4 +- .../__tests__/DataTableExpansion.test.tsx | 97 ++++++++++++++++ .../DataTableGroupSelection.test.tsx | 105 ------------------ 3 files changed, 99 insertions(+), 107 deletions(-) delete mode 100644 packages/react/src/DataTable/__tests__/DataTableGroupSelection.test.tsx diff --git a/e2e/components/DataTable.test.ts b/e2e/components/DataTable.test.ts index 174bdaedb79..7d50a8d7065 100644 --- a/e2e/components/DataTable.test.ts +++ b/e2e/components/DataTable.test.ts @@ -161,7 +161,7 @@ test.describe('DataTable', () => { await visit(page, {id: story.id, globals: {colorScheme: theme}}) const selectAll = page.getByRole('checkbox', {name: 'Select rows', exact: true}) if (state === 'mixed') { - await page.getByRole('checkbox', {name: 'Select primer/css', exact: true}).click() + await page.getByRole('checkbox', {name: 'Select strapi', exact: true}).click() await expect(selectAll).toBeChecked({indeterminate: true}) } else { await selectAll.click() @@ -207,7 +207,7 @@ test.describe('DataTable', () => { test('standalone and grouped selection stays wired through keyboard input and sorting @aat', async ({page}) => { await visit(page, {id: 'experimental-components-datatable-features--with-standalone-and-grouped-row-selection'}) const standalone = page.getByRole('checkbox', {name: 'Select codeql-dca-worker', exact: true}) - const grouped = page.getByRole('checkbox', {name: 'Select primer/css', exact: true}) + const grouped = page.getByRole('checkbox', {name: 'Select strapi', exact: true}) const selectAll = page.getByRole('checkbox', {name: 'Select rows', exact: true}) await expect(standalone).toBeEnabled() diff --git a/packages/react/src/DataTable/__tests__/DataTableExpansion.test.tsx b/packages/react/src/DataTable/__tests__/DataTableExpansion.test.tsx index a16d61edb54..90b993a0720 100644 --- a/packages/react/src/DataTable/__tests__/DataTableExpansion.test.tsx +++ b/packages/react/src/DataTable/__tests__/DataTableExpansion.test.tsx @@ -419,3 +419,100 @@ describe('Table.Group expansion', () => { expect(screen.getByRole('columnheader', {name: 'Administrators'})).toHaveAttribute('colspan', '1') }) }) + +describe('DataTable group selection', () => { + const columns: Array> = [{header: 'Name', field: 'name', rowHeader: true}] + const data: DataTableData = [ + {id: 'standalone', name: 'Standalone'}, + { + groupId: 'public', + label: 'Public', + rows: [ + {id: 1, name: 'Alpha'}, + {id: '1', name: 'Beta'}, + {id: 2, name: 'Disabled'}, + ], + }, + {groupId: 'private', label: 'Private', rows: [{id: 3, name: 'Gamma'}]}, + {groupId: 'empty', label: 'Empty', rows: []}, + ] + + it('selects only selectable members, including collapsed rows, and preserves other selections', async () => { + const onSelectionChange = vi.fn() + render( + (['standalone', 3, 'off-page'])} + isRowSelectable={row => row.id !== 2} + onSelectionChange={onSelectionChange} + />, + ) + const group = page.getByRole('checkbox', {name: 'Select Public', exact: true}) + const disclosure = page.getByRole('button', {name: 'Public', exact: true}) + const selectAll = page.getByRole('checkbox', {name: 'Select rows', exact: true}) + + await expect.element(group).not.toBeChecked() + await browserUserEvent.click(page.getByRole('checkbox', {name: 'Select Alpha', exact: true})) + await expect.element(group).toBePartiallyChecked() + await browserUserEvent.click(disclosure) + await browserUserEvent.tab({shift: true}) + await expect.element(group).toHaveFocus() + await browserUserEvent.keyboard(' ') + await expect.element(group).toBeChecked() + await expect.element(group).toHaveFocus() + await expect.element(selectAll).toBeChecked() + await expect.element(disclosure).toHaveAttribute('aria-expanded', 'false') + expect(onSelectionChange).toHaveBeenLastCalledWith({ + selectedRows: new Set(['standalone', 3, 'off-page', 1, '1']), + }) + + await browserUserEvent.click(disclosure) + await expect.element(page.getByRole('checkbox', {name: 'Select Beta', exact: true})).toBeChecked() + await expect.element(page.getByRole('checkbox', {name: 'Select Disabled', exact: true})).not.toBeChecked() + await browserUserEvent.click(group) + await expect.element(group).not.toBeChecked() + await expect.element(selectAll).toBePartiallyChecked() + expect(onSelectionChange).toHaveBeenLastCalledWith({ + selectedRows: new Set(['standalone', 3, 'off-page']), + }) + }) + + it('requests immutable controlled updates using custom row IDs and group names', async () => { + const selectedRows = new Set(['Alpha', 'off-page']) + const onSelectionChange = vi.fn() + const props = { + data: [{groupId: 'public', label: 'Public', 'aria-label': 'Public repositories', rows: [{id: 1, name: 'Alpha'}]}], + columns, + rowSelection: true, + collapsibleGroups: true, + getRowId: (row: Row) => row.name, + onSelectionChange, + } + const {rerender} = render() + const group = page.getByRole('checkbox', {name: 'Select Public repositories', exact: true}) + await browserUserEvent.click(group) + expect(onSelectionChange).toHaveBeenLastCalledWith({selectedRows: new Set(['off-page'])}) + expect(selectedRows).toEqual(new Set(['Alpha', 'off-page'])) + await expect.element(group).toBeChecked() + rerender() + await expect.element(group).not.toBeChecked() + }) + + it('disables empty and unselectable groups and requires both selection and collapse controls', async () => { + const {rerender} = render( + false} />, + ) + for (const name of ['Public', 'Private', 'Empty']) { + const checkbox = page.getByRole('checkbox', {name: `Select ${name}`, exact: true}) + await expect.element(checkbox).toBeDisabled() + await expect.element(checkbox).not.toBeChecked() + } + rerender() + await expect.element(page.getByRole('checkbox', {name: 'Select Public', exact: true})).not.toBeInTheDocument() + rerender() + await expect.element(page.getByRole('checkbox')).not.toBeInTheDocument() + }) +}) diff --git a/packages/react/src/DataTable/__tests__/DataTableGroupSelection.test.tsx b/packages/react/src/DataTable/__tests__/DataTableGroupSelection.test.tsx deleted file mode 100644 index 678d97358a3..00000000000 --- a/packages/react/src/DataTable/__tests__/DataTableGroupSelection.test.tsx +++ /dev/null @@ -1,105 +0,0 @@ -import {render} from '@testing-library/react' -import {describe, expect, it, vi} from 'vitest' -import {page, userEvent} from 'vitest/browser' -import {DataTable} from '../../DataTable' -import type {Column} from '../column' -import type {DataTableData, DataTableRowId} from '../row' - -type Row = {id: DataTableRowId; name: string} - -const columns: Array> = [{header: 'Name', field: 'name', rowHeader: true}] -const data: DataTableData = [ - {id: 'standalone', name: 'Standalone'}, - { - groupId: 'public', - label: 'Public', - rows: [ - {id: 1, name: 'Alpha'}, - {id: '1', name: 'Beta'}, - {id: 2, name: 'Disabled'}, - ], - }, - {groupId: 'private', label: 'Private', rows: [{id: 3, name: 'Gamma'}]}, - {groupId: 'empty', label: 'Empty', rows: []}, -] - -describe('DataTable group selection', () => { - it('selects only selectable members, including collapsed rows, and preserves other selections', async () => { - const onSelectionChange = vi.fn() - render( - (['standalone', 3, 'off-page'])} - isRowSelectable={row => row.id !== 2} - onSelectionChange={onSelectionChange} - />, - ) - const group = page.getByRole('checkbox', {name: 'Select Public', exact: true}) - const disclosure = page.getByRole('button', {name: 'Public', exact: true}) - const selectAll = page.getByRole('checkbox', {name: 'Select rows', exact: true}) - - await expect.element(group).not.toBeChecked() - await userEvent.click(page.getByRole('checkbox', {name: 'Select Alpha', exact: true})) - await expect.element(group).toBePartiallyChecked() - await userEvent.click(disclosure) - await userEvent.tab({shift: true}) - await expect.element(group).toHaveFocus() - await userEvent.keyboard(' ') - await expect.element(group).toBeChecked() - await expect.element(group).toHaveFocus() - await expect.element(selectAll).toBeChecked() - await expect.element(disclosure).toHaveAttribute('aria-expanded', 'false') - expect(onSelectionChange).toHaveBeenLastCalledWith({ - selectedRows: new Set(['standalone', 3, 'off-page', 1, '1']), - }) - - await userEvent.click(disclosure) - await expect.element(page.getByRole('checkbox', {name: 'Select Beta', exact: true})).toBeChecked() - await expect.element(page.getByRole('checkbox', {name: 'Select Disabled', exact: true})).not.toBeChecked() - await userEvent.click(group) - await expect.element(group).not.toBeChecked() - await expect.element(selectAll).toBePartiallyChecked() - expect(onSelectionChange).toHaveBeenLastCalledWith({ - selectedRows: new Set(['standalone', 3, 'off-page']), - }) - }) - - it('requests immutable controlled updates using custom row IDs and group names', async () => { - const selectedRows = new Set(['Alpha', 'off-page']) - const onSelectionChange = vi.fn() - const props = { - data: [{groupId: 'public', label: 'Public', 'aria-label': 'Public repositories', rows: [{id: 1, name: 'Alpha'}]}], - columns, - rowSelection: true, - collapsibleGroups: true, - getRowId: (row: Row) => row.name, - onSelectionChange, - } - const {rerender} = render() - const group = page.getByRole('checkbox', {name: 'Select Public repositories', exact: true}) - await userEvent.click(group) - expect(onSelectionChange).toHaveBeenLastCalledWith({selectedRows: new Set(['off-page'])}) - expect(selectedRows).toEqual(new Set(['Alpha', 'off-page'])) - await expect.element(group).toBeChecked() - rerender() - await expect.element(group).not.toBeChecked() - }) - - it('disables empty and unselectable groups and requires both selection and collapse controls', async () => { - const {rerender} = render( - false} />, - ) - for (const name of ['Public', 'Private', 'Empty']) { - const checkbox = page.getByRole('checkbox', {name: `Select ${name}`, exact: true}) - await expect.element(checkbox).toBeDisabled() - await expect.element(checkbox).not.toBeChecked() - } - rerender() - await expect.element(page.getByRole('checkbox', {name: 'Select Public', exact: true})).not.toBeInTheDocument() - rerender() - await expect.element(page.getByRole('checkbox')).not.toBeInTheDocument() - }) -}) From b9081ba73ed4f057aae247ea0110b5763b1cde93 Mon Sep 17 00:00:00 2001 From: rickyzhangca <16908811+rickyzhangca@users.noreply.github.com> Date: Thu, 29 Oct 2026 22:05:56 +0000 Subject: [PATCH 3/3] test(vrt): update snapshots --- ...e-Group-expansion-collapsed-dark-linux.png | Bin 16217 -> 15958 bytes ...-Group-expansion-collapsed-light-linux.png | Bin 16142 -> 15901 bytes ...le-Group-expansion-expanded-dark-linux.png | Bin 30872 -> 19473 bytes ...e-Group-expansion-expanded-light-linux.png | Bin 30636 -> 19396 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/.playwright/snapshots/components/DataTable.test.ts-snapshots/DataTable-Group-expansion-collapsed-dark-linux.png b/.playwright/snapshots/components/DataTable.test.ts-snapshots/DataTable-Group-expansion-collapsed-dark-linux.png index 12413d0f652d11ca38aa61d070c9eb3a7e0bb067..5be995e2f56786177b239503d5334638957c86f8 100644 GIT binary patch literal 15958 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 diff --git a/.playwright/snapshots/components/DataTable.test.ts-snapshots/DataTable-Group-expansion-collapsed-light-linux.png b/.playwright/snapshots/components/DataTable.test.ts-snapshots/DataTable-Group-expansion-collapsed-light-linux.png index b146747bacda42c6bd577648c813d50157908e6b..3033e5c843668b10ec775121ec377849ea0692eb 100644 GIT binary patch literal 15901 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 F{|hsJ{E+|v diff --git a/.playwright/snapshots/components/DataTable.test.ts-snapshots/DataTable-Group-expansion-expanded-dark-linux.png b/.playwright/snapshots/components/DataTable.test.ts-snapshots/DataTable-Group-expansion-expanded-dark-linux.png index 65454a79b293b39c87d78f41d1aa725a99b3e781..7103443303d75040928ccc21e188bd5c47c7d931 100644 GIT binary patch literal 19473 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 literal 30872 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 QmQE5G2}SX&t2gic8!>JK>;M1& diff --git a/.playwright/snapshots/components/DataTable.test.ts-snapshots/DataTable-Group-expansion-expanded-light-linux.png b/.playwright/snapshots/components/DataTable.test.ts-snapshots/DataTable-Group-expansion-expanded-light-linux.png index f2d62f0bb3421bfd55152bfbf81c3b4a6fb42605..a7332e4146f2b0a8d974514fae97e71fcb70dfbc 100644 GIT binary patch literal 19396 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 literal 30636 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 a?umU_MkR7Vu^hg$M?qHkTAGahFaHNv8%41I