You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.1 KiB
44 lines
1.1 KiB
1 year ago
|
import React from 'react';
|
||
|
import Column from 'Components/Table/Column';
|
||
|
import VirtualTableHeader from 'Components/Table/VirtualTableHeader';
|
||
|
import VirtualTableHeaderCell from 'Components/Table/VirtualTableHeaderCell';
|
||
|
import styles from './SelectArtistModalTableHeader.css';
|
||
|
|
||
|
interface SelectArtistModalTableHeaderProps {
|
||
|
columns: Column[];
|
||
|
}
|
||
|
|
||
|
function SelectArtistModalTableHeader(
|
||
|
props: SelectArtistModalTableHeaderProps
|
||
|
) {
|
||
|
const { columns } = props;
|
||
|
|
||
|
return (
|
||
|
<VirtualTableHeader>
|
||
|
{columns.map((column) => {
|
||
|
const { name, label, isVisible } = column;
|
||
|
|
||
|
if (!isVisible) {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
return (
|
||
|
<VirtualTableHeaderCell
|
||
|
key={name}
|
||
|
className={
|
||
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||
|
// @ts-ignore
|
||
|
styles[name]
|
||
|
}
|
||
|
name={name}
|
||
|
>
|
||
|
{typeof label === 'function' ? label() : label}
|
||
|
</VirtualTableHeaderCell>
|
||
|
);
|
||
|
})}
|
||
|
</VirtualTableHeader>
|
||
|
);
|
||
|
}
|
||
|
|
||
|
export default SelectArtistModalTableHeader;
|