feat(data-table): dispatch on:click:header--select event

This commit is contained in:
Eric Liu 2022-08-17 07:29:36 -07:00
commit e54dff3eb2

View file

@ -14,6 +14,7 @@
* @event {{ header?: DataTableHeader; row?: DataTableRow; cell?: DataTableCell; }} click * @event {{ header?: DataTableHeader; row?: DataTableRow; cell?: DataTableCell; }} click
* @event {{ expanded: boolean; }} click:header--expand * @event {{ expanded: boolean; }} click:header--expand
* @event {{ header: DataTableHeader; sortDirection?: "ascending" | "descending" | "none" }} click:header * @event {{ header: DataTableHeader; sortDirection?: "ascending" | "descending" | "none" }} click:header
* @event {{ indeterminate: boolean; selected: boolean; }} click:header--select
* @event {DataTableRow} click:row * @event {DataTableRow} click:row
* @event {DataTableRow} mouseenter:row * @event {DataTableRow} mouseenter:row
* @event {DataTableRow} mouseleave:row * @event {DataTableRow} mouseleave:row
@ -316,6 +317,11 @@
checked="{selectAll}" checked="{selectAll}"
indeterminate="{indeterminate}" indeterminate="{indeterminate}"
on:change="{(e) => { on:change="{(e) => {
dispatch('click:header--select', {
indeterminate,
selected: !indeterminate && e.target.checked,
});
if (indeterminate) { if (indeterminate) {
e.target.checked = false; e.target.checked = false;
selectAll = false; selectAll = false;