UNPKG

@visactor/vtable

Version:

canvas table width high performance

64 lines (54 loc) 2.61 kB
"use strict"; 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