amis-rpc-design/node_modules/rc-table/es/Cell/useHoverState.js

13 lines
570 B
JavaScript
Raw Normal View History

2023-10-07 19:42:30 +08:00
import { useContext } from '@rc-component/context';
import TableContext from "../context/TableContext";
/** Check if cell is in hover range */
function inHoverRange(cellStartRow, cellRowSpan, startRow, endRow) {
var cellEndRow = cellStartRow + cellRowSpan - 1;
return cellStartRow <= endRow && cellEndRow >= startRow;
}
export default function useHoverState(rowIndex, rowSpan) {
return useContext(TableContext, function (ctx) {
var hovering = inHoverRange(rowIndex, rowSpan || 1, ctx.hoverStartRow, ctx.hoverEndRow);
return [hovering, ctx.onHover];
});
}