leaderboard-table
Version:
50 lines (49 loc) • 1.65 kB
TypeScript
import PhasesState from "../PhasesState";
import { ColumnProperties } from "../../common/common.types";
import { LeaderboardData } from "../../leaderboard/Leaderboard";
declare class ParseData extends PhasesState {
private _rootContainer;
private readonly _logger;
private _sorter;
private _lbData;
constructor(_rootContainer: HTMLElement, data: LeaderboardData[]);
execute(): ColumnProperties[];
private _getParsedData;
private _parseData;
private _parseClientColumns;
private _sort;
private _appendNewCellToExistingHeader;
/**
* Method for filling AFTER whole parsing process. It's the last step of
* preparing data before rendering.
* @private
* @param columnsToFillWithCells
*/
private _fillMissingCellsWithIndex;
/**
* Inserting cells for columns which weren't in iteration.
* @param missingCell {MissingCell}
* @private
*/
private _insertColumnsWithMissingCells;
/**
* Appending new header with its single cell value to data which will be used
* for rendering.
* @param headersAccumulator
* @param header
* @param singleCellValuesForHeader
* @param nOfArrays
* @private
*/
private _appendNewHeaderAndCellToAcc;
/**
* Method is used for filling columns with empty cells, without any content.
* Use case: first initialization of columns based on client's header.
* @param column
* @param nOfArrays
* @private
*/
private _addEmptyCells;
private _insertContentIntoCells;
}
export default ParseData;