github
575 of 1136 branches covered (50.62%)
29 of 2908 new or added lines in 83 files covered. (1.0%)
5 existing lines in 5 files now uncovered.6439 of 35315 relevant lines covered (18.23%)
3.94 hits per line
NEW
|
import { cn, Checkbox } from '@teable/ui-lib'; |
|
NEW
|
import { useMemo } from 'react'; |
× |
NEW
|
import type { ICellValue } from '../type'; |
× |
NEW
|
× | |
NEW
|
interface ICellCheckbox extends ICellValue<boolean | boolean[]> { |
× |
NEW
|
itemClassName?: string;
|
× |
NEW
|
} |
× |
NEW
|
× | |
NEW
|
export const CellCheckbox = (props: ICellCheckbox) => { |
× |
NEW
|
const { value, className, style, itemClassName } = props;
|
× |
NEW
|
× | |
NEW
|
const innerValue = useMemo(() => {
|
× |
NEW
|
if (value == null) return; |
× |
NEW
|
if (Array.isArray(value)) return value; |
× |
NEW
|
return [value];
|
× |
NEW
|
}, [value]); |
× |
NEW
|
× | |
NEW
|
return (
|
× |
NEW
|
<div className={cn('flex', className)} style={style}> |
× |
NEW
|
{innerValue?.map((val, index) => { |
× |
NEW
|
return (
|
× |
NEW
|
<Checkbox key={index} className={cn('size-5', itemClassName)} checked={Boolean(val)} /> |
× |
NEW
|
); |
× |
NEW
|
})} |
× |
NEW
|
</div> |
× |
NEW
|
); |
× |
NEW
|
}; |
× |