@visactor/vtable
Version:
canvas table width high performance
54 lines (47 loc) • 2.07 kB
JavaScript
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