@visactor/vtable
Version:
canvas table width high performance
46 lines (40 loc) • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.regIndexReg = exports.getTargetCell = exports.getCellEventArgsSet = void 0;
const vutils_1 = require("@visactor/vutils");
function getCellEventArgsSet(e) {
const tableEvent = {
abstractPos: {
x: e.viewport.x,
y: e.viewport.y
}
}, targetCell = getTargetCell(e.target);
return targetCell && (tableEvent.eventArgs = {
col: targetCell.col,
row: targetCell.row,
event: e,
targetCell: targetCell,
mergeInfo: getMergeCellInfo(targetCell),
target: e.target
}), tableEvent;
}
function getTargetCell(target) {
for (;target && target.parent; ) {
if ("cell" === target.role) return target;
target = target.parent;
}
return null;
}
function getMergeCellInfo(cellGroup) {
if ((0, vutils_1.isValid)(cellGroup.mergeStartCol) && (0, vutils_1.isValid)(cellGroup.mergeStartRow) && (0,
vutils_1.isValid)(cellGroup.mergeEndCol) && (0, vutils_1.isValid)(cellGroup.mergeEndRow)) return {
colStart: cellGroup.mergeStartCol,
colEnd: cellGroup.mergeEndCol,
rowStart: cellGroup.mergeStartRow,
rowEnd: cellGroup.mergeEndRow
};
}
exports.getCellEventArgsSet = getCellEventArgsSet, exports.getTargetCell = getTargetCell,
exports.regIndexReg = /radio-\d+-\d+-(\d+)/;
//# sourceMappingURL=util.js.map