| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.mapDataUsingRowHeights = exports.padCellVertically = void 0;
- const utils_1 = require("./utils");
- const wrapCell_1 = require("./wrapCell");
- const createEmptyStrings = (length) => {
- return new Array(length).fill('');
- };
- const padCellVertically = (lines, rowHeight, verticalAlignment) => {
- const availableLines = rowHeight - lines.length;
- if (verticalAlignment === 'top') {
- return [...lines, ...createEmptyStrings(availableLines)];
- }
- if (verticalAlignment === 'bottom') {
- return [...createEmptyStrings(availableLines), ...lines];
- }
- return [
- ...createEmptyStrings(Math.floor(availableLines / 2)),
- ...lines,
- ...createEmptyStrings(Math.ceil(availableLines / 2)),
- ];
- };
- exports.padCellVertically = padCellVertically;
- const mapDataUsingRowHeights = (unmappedRows, rowHeights, config) => {
- const nColumns = unmappedRows[0].length;
- const mappedRows = unmappedRows.map((unmappedRow, unmappedRowIndex) => {
- const outputRowHeight = rowHeights[unmappedRowIndex];
- const outputRow = Array.from({ length: outputRowHeight }, () => {
- return new Array(nColumns).fill('');
- });
- unmappedRow.forEach((cell, cellIndex) => {
- var _a;
- const containingRange = (_a = config.spanningCellManager) === null || _a === void 0 ? void 0 : _a.getContainingRange({ col: cellIndex,
- row: unmappedRowIndex });
- if (containingRange) {
- containingRange.extractCellContent(unmappedRowIndex).forEach((cellLine, cellLineIndex) => {
- outputRow[cellLineIndex][cellIndex] = cellLine;
- });
- return;
- }
- const cellLines = (0, wrapCell_1.wrapCell)(cell, config.columns[cellIndex].width, config.columns[cellIndex].wrapWord);
- const paddedCellLines = (0, exports.padCellVertically)(cellLines, outputRowHeight, config.columns[cellIndex].verticalAlignment);
- paddedCellLines.forEach((cellLine, cellLineIndex) => {
- outputRow[cellLineIndex][cellIndex] = cellLine;
- });
- });
- return outputRow;
- });
- return (0, utils_1.flatten)(mappedRows);
- };
- exports.mapDataUsingRowHeights = mapDataUsingRowHeights;
- //# sourceMappingURL=mapDataUsingRowHeights.js.map
|