mirror of
https://github.com/Sonarr/Sonarr.git
synced 2026-04-19 21:46:43 -04:00
44 lines
1.0 KiB
TypeScript
44 lines
1.0 KiB
TypeScript
import React, { useMemo } from 'react';
|
|
import CheckInput from 'Components/Form/CheckInput';
|
|
import { CheckInputChanged } from 'typings/inputs';
|
|
import VirtualTableHeaderCell from './TableHeaderCell';
|
|
import styles from './TableSelectAllHeaderCell.css';
|
|
|
|
interface TableSelectAllHeaderCellProps {
|
|
allSelected: boolean;
|
|
allUnselected: boolean;
|
|
onSelectAllChange: (change: CheckInputChanged) => void;
|
|
}
|
|
|
|
function TableSelectAllHeaderCell({
|
|
allSelected,
|
|
allUnselected,
|
|
onSelectAllChange,
|
|
}: TableSelectAllHeaderCellProps) {
|
|
const value = useMemo(() => {
|
|
if (allSelected) {
|
|
return true;
|
|
} else if (allUnselected) {
|
|
return false;
|
|
}
|
|
|
|
return null;
|
|
}, [allSelected, allUnselected]);
|
|
|
|
return (
|
|
<VirtualTableHeaderCell
|
|
className={styles.selectAllHeaderCell}
|
|
name="selectAll"
|
|
>
|
|
<CheckInput
|
|
className={styles.input}
|
|
name="selectAll"
|
|
value={value}
|
|
onChange={onSelectAllChange}
|
|
/>
|
|
</VirtualTableHeaderCell>
|
|
);
|
|
}
|
|
|
|
export default TableSelectAllHeaderCell;
|