| 'use strict'; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| |
| var _lodash = require('lodash'); |
| |
| var _lodash2 = _interopRequireDefault(_lodash); |
| |
| var _calculateCellHeight = require('./calculateCellHeight'); |
| |
| var _calculateCellHeight2 = _interopRequireDefault(_calculateCellHeight); |
| |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
| |
| /** |
| * Calculates the vertical row span index. |
| * |
| * @param {Array[]} rows |
| * @param {Object} config |
| * @returns {number[]} |
| */ |
| exports.default = (rows, config) => { |
| const tableWidth = rows[0].length; |
| |
| const rowSpanIndex = []; |
| |
| _lodash2.default.forEach(rows, cells => { |
| const cellHeightIndex = _lodash2.default.fill(Array(tableWidth), 1); |
| |
| _lodash2.default.forEach(cells, (value, index1) => { |
| if (!_lodash2.default.isNumber(config.columns[index1].width)) { |
| throw new TypeError('column[index].width must be a number.'); |
| } |
| |
| if (!_lodash2.default.isBoolean(config.columns[index1].wrapWord)) { |
| throw new TypeError('column[index].wrapWord must be a boolean.'); |
| } |
| |
| cellHeightIndex[index1] = (0, _calculateCellHeight2.default)(value, config.columns[index1].width, config.columns[index1].wrapWord); |
| }); |
| |
| rowSpanIndex.push(_lodash2.default.max(cellHeightIndex)); |
| }); |
| |
| return rowSpanIndex; |
| }; |