@visactor/vtable
Version:
canvas table width high performance
64 lines (54 loc) • 2.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.checkColInSelect = exports.checkRowInSelect = exports.checkMultiCellInSelect = exports.checkCellInSelect = exports.checkRowInlineInSelect = exports.checkColInlineInSelect = void 0;
const helper_1 = require("../../tools/helper");
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;
}
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;
}
function checkCellInSelect(col, row, cellRanges) {
for (let i = 0; i < cellRanges.length; i++) {
const range = cellRanges[i];
if ((0, helper_1.cellInRange)(range, col, row)) return !0;
}
return !1;
}
function checkMultiCellInSelect(cellPosStart, cellPosEnd, selectRangs, selectMode) {
for (let i = 0; i < selectRangs.length; i++) {
const range = selectRangs[i];
if ((0, helper_1.rangeIntersected)(range, {
start: cellPosStart,
end: cellPosEnd
})) return !0;
}
return !1;
}
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;
}
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;
}
exports.checkColInlineInSelect = checkColInlineInSelect, exports.checkRowInlineInSelect = checkRowInlineInSelect,
exports.checkCellInSelect = checkCellInSelect, exports.checkMultiCellInSelect = checkMultiCellInSelect,
exports.checkRowInSelect = checkRowInSelect, exports.checkColInSelect = checkColInSelect;
//# sourceMappingURL=check-in-select.js.map