| import _ from 'lodash'; | |
| import wrapCell from './wrapCell'; | |
| /** | |
| * @param {Array} unmappedRows | |
| * @param {number[]} rowHeightIndex | |
| * @param {Object} config | |
| * @returns {Array} | |
| */ | |
| export default (unmappedRows, rowHeightIndex, config) => { | |
| const tableWidth = unmappedRows[0].length; | |
| const mappedRows = unmappedRows.map((cells, index0) => { | |
| const rowHeight = _.times(rowHeightIndex[index0], () => { | |
| return new Array(tableWidth).fill(''); | |
| }); | |
| // rowHeight | |
| // [{row index within rowSaw; index2}] | |
| // [{cell index within a virtual row; index1}] | |
| cells.forEach((value, index1) => { | |
| const cellLines = wrapCell(value, config.columns[index1].width, config.columns[index1].wrapWord); | |
| cellLines.forEach((cellLine, index2) => { | |
| rowHeight[index2][index1] = cellLine; | |
| }); | |
| }); | |
| return rowHeight; | |
| }); | |
| return _.flatten(mappedRows); | |
| }; |