You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import _ from 'lodash'; import calculateCellHeight from './calculateCellHeight';
/** * Calculates the vertical row span index. * * @param {Array[]} rows * @param {Object} config * @returns {number[]} */ export default (rows, config) => { const tableWidth = rows[0].length;
const rowSpanIndex = [];
rows.forEach((cells) => { const cellHeightIndex = new Array(tableWidth).fill(1);
cells.forEach((value, index1) => { if (!_.isNumber(config.columns[index1].width)) { throw new TypeError('column[index].width must be a number.'); }
if (!_.isBoolean(config.columns[index1].wrapWord)) { throw new TypeError('column[index].wrapWord must be a boolean.'); }
cellHeightIndex[index1] = calculateCellHeight(value, config.columns[index1].width, config.columns[index1].wrapWord); });
rowSpanIndex.push(_.max(cellHeightIndex)); });
return rowSpanIndex; };
|