fix(data-table): collapse batch expansion button if one or more rows collapsed #867 (#868)

This commit is contained in:
Eric Liu 2021-10-20 17:45:53 -07:00 committed by GitHub
commit 2aeeb728a2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -165,9 +165,18 @@
let refSelectAll = null; let refSelectAll = null;
$: batchSelectedIds.set(selectedRowIds); $: batchSelectedIds.set(selectedRowIds);
$: expandableRowIds = rows
.map((row) => row.id)
.filter((id) => !nonExpandableRowIds.includes(id));
$: indeterminate = $: indeterminate =
selectedRowIds.length > 0 && selectedRowIds.length < rows.length; selectedRowIds.length > 0 && selectedRowIds.length < rows.length;
$: if (batchExpansion) expandable = true; $: if (batchExpansion) {
expandable = true;
if (expandedRowIds.length < expandableRowIds.length) {
expanded = false;
}
}
$: if (radio || batchSelection) selectable = true; $: if (radio || batchSelection) selectable = true;
$: tableSortable.set(sortable); $: tableSortable.set(sortable);
$: headerKeys = headers.map(({ key }) => key); $: headerKeys = headers.map(({ key }) => key);
@ -249,7 +258,7 @@
class:bx--table-expand__button="{true}" class:bx--table-expand__button="{true}"
on:click="{() => { on:click="{() => {
expanded = !expanded; expanded = !expanded;
expandedRowIds = expanded ? rows.map((row) => row.id) : []; expandedRowIds = expanded ? expandableRowIds : [];
dispatch('click:header--expand', { expanded }); dispatch('click:header--expand', { expanded });
}}" }}"