feat(data-table): dispatch on:click:row--select event (#1450)

This commit is contained in:
naegelin 2022-08-17 15:39:03 +02:00 committed by GitHub
commit 30487128b3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 0 deletions

View file

@ -1008,6 +1008,7 @@ export interface DataTableCell {
| mouseenter:row | dispatched | <code>DataTableRow</code> |
| mouseleave:row | dispatched | <code>DataTableRow</code> |
| click:row--expand | dispatched | <code>{ expanded: boolean; row: DataTableRow; }</code> |
| click:row--select | dispatched | <code>{ selected: boolean; row: DataTableRow; }</code> |
| click:cell | dispatched | <code>DataTableCell</code> |
## `DataTableSkeleton`

View file

@ -2663,6 +2663,11 @@
"name": "click:row--expand",
"detail": "{ expanded: boolean; row: DataTableRow; }"
},
{
"type": "dispatched",
"name": "click:row--select",
"detail": "{ selected: boolean; row: DataTableRow; }"
},
{
"type": "dispatched",
"name": "click:cell",

View file

@ -18,6 +18,7 @@
* @event {DataTableRow} mouseenter:row
* @event {DataTableRow} mouseleave:row
* @event {{ expanded: boolean; row: DataTableRow; }} click:row--expand
* @event {{ selected: boolean; row: DataTableRow; }} click:row--select
* @event {DataTableCell} click:cell
* @restProps {div}
*/
@ -440,6 +441,7 @@
checked="{selectedRowIds.includes(row.id)}"
on:change="{() => {
selectedRowIds = [row.id];
dispatch('click:row--select', { row, selected: true });
}}"
/>
{:else}
@ -451,8 +453,10 @@
selectedRowIds = selectedRowIds.filter(
(id) => id !== row.id
);
dispatch('click:row--select', { row, selected: false });
} else {
selectedRowIds = [...selectedRowIds, row.id];
dispatch('click:row--select', { row, selected: true });
}
}}"
/>

View file

@ -198,6 +198,10 @@ export default class DataTable extends SvelteComponentTyped<
expanded: boolean;
row: DataTableRow;
}>;
["click:row--select"]: CustomEvent<{
selected: boolean;
row: DataTableRow;
}>;
["click:cell"]: CustomEvent<DataTableCell>;
},
{