1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-19 21:46:43 -04:00
Files
Sonarr/frontend/src/Components/Table/Cells/VirtualTableSelectCell.tsx
T
2025-01-25 19:38:05 -08:00

47 lines
1.2 KiB
TypeScript

import React, { useCallback } from 'react';
import CheckInput from 'Components/Form/CheckInput';
import { CheckInputChanged } from 'typings/inputs';
import { SelectStateInputProps } from 'typings/props';
import VirtualTableRowCell, {
VirtualTableRowCellProps,
} from './VirtualTableRowCell';
import styles from './VirtualTableSelectCell.css';
interface VirtualTableSelectCellProps extends VirtualTableRowCellProps {
inputClassName?: string;
id: number;
isSelected?: boolean;
isDisabled: boolean;
onSelectedChange: (options: SelectStateInputProps) => void;
}
function VirtualTableSelectCell({
inputClassName = styles.input,
id,
isSelected = false,
isDisabled,
onSelectedChange,
...otherProps
}: VirtualTableSelectCellProps) {
const handleChange = useCallback(
({ value, shiftKey }: CheckInputChanged) => {
onSelectedChange({ id, value, shiftKey });
},
[id, onSelectedChange]
);
return (
<VirtualTableRowCell className={styles.cell} {...otherProps}>
<CheckInput
className={inputClassName}
name={id.toString()}
value={isSelected}
isDisabled={isDisabled}
onChange={handleChange}
/>
</VirtualTableRowCell>
);
}
export default VirtualTableSelectCell;