import CheckboxCellComponent from '../components/cells/CheckboxCellComponent'; import DefaultCellDisplayer from '../displayers/DefaultCellDisplayer'; import defaultCellSerializer from '../seralizers/defaultCellSerializer'; import { CheckboxColumn, CheckboxColumnOptions, TableItem } from '../typings'; const checkboxColumn = = TableItem>( id: string, options: CheckboxColumnOptions, ): CheckboxColumn => { const Component = options.CellComponent || CheckboxCellComponent; return Object.assign( { filterable: false, sortable: false, className: 'o-checkbox-cell', Displayer: DefaultCellDisplayer, serializer: defaultCellSerializer, }, options, { id, CellComponent: Component(options), }, ); }; export default checkboxColumn;