UNPKG

@visactor/vtable

Version:

canvas table width high performance

54 lines (47 loc) 2.07 kB
import { cellInRange, rangeIntersected } from "../../tools/helper"; export function checkColInlineInSelect(col, cellRanges) { for (let i = 0; i < cellRanges.length; i++) { const currentRangeMinCol = Math.min(cellRanges[i].start.col, cellRanges[i].end.col), currentRangeMaxCol = Math.max(cellRanges[i].start.col, cellRanges[i].end.col); if (col >= currentRangeMinCol && col <= currentRangeMaxCol) return !0; } return !1; } export function checkRowInlineInSelect(row, cellRanges) { for (let i = 0; i < cellRanges.length; i++) { const currentRangeMinRow = Math.min(cellRanges[i].start.row, cellRanges[i].end.row), currentRangeMaxRow = Math.max(cellRanges[i].start.row, cellRanges[i].end.row); if (row >= currentRangeMinRow && row <= currentRangeMaxRow) return !0; } return !1; } export function checkCellInSelect(col, row, cellRanges) { for (let i = 0; i < cellRanges.length; i++) { const range = cellRanges[i]; if (cellInRange(range, col, row)) return !0; } return !1; } export function checkMultiCellInSelect(cellPosStart, cellPosEnd, selectRangs, selectMode) { for (let i = 0; i < selectRangs.length; i++) { const range = selectRangs[i]; if (rangeIntersected(range, { start: cellPosStart, end: cellPosEnd })) return !0; } return !1; } export function checkRowInSelect(row, cellRanges) { for (let i = 0; i < cellRanges.length; i++) { const range = cellRanges[i], minRow = Math.min(range.start.row, range.end.row), maxRow = Math.max(range.start.row, range.end.row); if (row >= minRow && row <= maxRow) return !0; } return !1; } export function checkColInSelect(col, cellRanges) { for (let i = 0; i < cellRanges.length; i++) { const range = cellRanges[i], minCol = Math.min(range.start.col, range.end.col), maxCol = Math.max(range.start.col, range.end.col); if (col >= minCol && col <= maxCol) return !0; } return !1; } //# sourceMappingURL=check-in-select.js.map