@visactor/vtable
Version:
canvas table width high performance
25 lines (19 loc) • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.getDefaultHeight = exports.getDefaultWidth = void 0;
const compute_col_width_1 = require("../../layout/compute-col-width"), compute_row_height_1 = require("../../layout/compute-row-height"), colSamplingNumber = 10, rowSamplingNumber = 10;
function getDefaultWidth(table) {
const {rowCount: rowCount, colCount: colCount} = table, widths = [], deltaCol = Math.max(1, Math.ceil(rowCount / colSamplingNumber)), deltaRow = Math.max(1, Math.ceil(colCount / rowSamplingNumber));
for (let col = 0; col < colCount; col += deltaCol) for (let row = 0; row < rowCount; row += deltaRow) widths.push((0,
compute_col_width_1.computeColWidth)(col, row, row, table));
return Math.ceil(widths.reduce(((a, b) => a + b), 0) / widths.length * 1.2);
}
function getDefaultHeight(table) {
const {rowCount: rowCount, colCount: colCount} = table, heights = [], deltaCol = Math.max(1, Math.ceil(rowCount / colSamplingNumber)), deltaRow = Math.max(1, Math.ceil(colCount / rowSamplingNumber));
for (let col = 0; col < colCount; col += deltaCol) for (let row = 0; row < rowCount; row += deltaRow) heights.push((0,
compute_row_height_1.computeRowHeight)(row, col, col, table));
return Math.ceil(heights.reduce(((a, b) => a + b), 0) / heights.length * 1.2);
}
exports.getDefaultWidth = getDefaultWidth, exports.getDefaultHeight = getDefaultHeight;
//# sourceMappingURL=default-width-height.js.map