UNPKG

@appbuckets/react-ui

Version:
42 lines (39 loc) 979 B
import * as React from 'react'; import Checkbox from '../../Checkbox/Checkbox.js'; import { useRxTable } from '../RxTable.context.js'; /* -------- * Component Definition * -------- */ var SingleRowSelector = function (props) { /** Get the Row */ var row = props.row; // ---- // Get Context Props // ---- var _a = useRxTable().selection, isRowSelected = _a.isRowSelected, toggleSelectRow = _a.toggleSelectRow; // ---- // Handlers // ---- var handleToggleRow = React.useCallback( function () { toggleSelectRow(row); }, [toggleSelectRow, row] ); // ---- // Checkbox Render as a Memoized Component // ---- return React.useMemo( function () { return React.createElement(Checkbox, { checked: isRowSelected(row), onClick: handleToggleRow, }); }, [isRowSelected, handleToggleRow, row] ); }; SingleRowSelector.displayName = 'SingleRowSelector'; export { SingleRowSelector as default };