Adding display attr to DataTableCell (#615)

This commit is contained in:
rafadess 2021-04-30 20:18:47 -03:00 committed by GitHub
commit 47c79b16c7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 8 deletions

View file

@ -7,7 +7,7 @@
* @typedef {DataTableNonEmptyHeader | DataTableEmptyHeader} DataTableHeader
* @typedef {{ id: any; [key: string]: DataTableValue; }} DataTableRow
* @typedef {string} DataTableRowId
* @typedef {{ key: DataTableKey; value: DataTableValue; }} DataTableCell
* @typedef {{ key: DataTableKey; value: DataTableValue; display?: (item: Value) => DataTableValue; }} DataTableCell
* @slot {{ row: DataTableRow; }} expanded-row
* @slot {{ header: DataTableNonEmptyHeader; }} cell-header
* @slot {{ row: DataTableRow; cell: DataTableCell; }} cell
@ -167,7 +167,11 @@
$: headerKeys = headers.map(({ key }) => key);
$: rows = rows.map((row) => ({
...row,
cells: headerKeys.map((key) => ({ key, value: resolvePath(row, key, "") })),
cells: headerKeys.map((key, index) => ({
key,
value: resolvePath(row, key, ""),
display: headers[index].display,
})),
}));
$: sortedRows = rows;
$: ascending = $sortHeader.sortDirection === "ascending";
@ -377,9 +381,7 @@
{#if headers[j].empty}
<td class:bx--table-column-menu="{headers[j].columnMenu}">
<slot name="cell" row="{row}" cell="{cell}">
{headers[j].display
? headers[j].display(cell.value)
: cell.value}
{cell.display ? cell.display(cell.value) : cell.value}
</slot>
</td>
{:else}
@ -390,9 +392,7 @@
}}"
>
<slot name="cell" row="{row}" cell="{cell}">
{headers[j].display
? headers[j].display(cell.value)
: cell.value}
{cell.display ? cell.display(cell.value) : cell.value}
</slot>
</TableCell>
{/if}

View file

@ -33,6 +33,7 @@ export type DataTableRowId = string;
export interface DataTableCell {
key: DataTableKey;
value: DataTableValue;
display?: (item: Value) => DataTableValue;
}
export interface DataTableProps