UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

49 lines 6.18 kB
import { ExportUtilities } from '../exporter-common/export-utilities'; import { WorksheetDataDictionary } from './worksheet-data-dictionary'; /** @hidden */ export class WorksheetData { constructor(_data, options, indexOfLastPinnedColumn, sort, isTreeGridData = false) { this._data = _data; this.options = options; this.indexOfLastPinnedColumn = indexOfLastPinnedColumn; this.sort = sort; this.isTreeGridData = isTreeGridData; this.initializeData(); } get data() { return this._data; } get columnCount() { return this._columnCount; } get rowCount() { return this._rowCount; } get isEmpty() { return !this.rowCount || !this._columnCount; } get keys() { return this._keys; } get isSpecialData() { return this._isSpecialData; } get dataDictionary() { return this._dataDictionary; } initializeData() { if (!this._data || this._data.length === 0) { return; } const actualData = this._data.map((item) => item.rowData); this._keys = ExportUtilities.getKeysFromData(actualData); if (this._keys.length === 0) { return; } this._isSpecialData = ExportUtilities.isSpecialData(actualData); this._columnCount = this._keys.length; this._rowCount = this._data.length + 1; this._dataDictionary = new WorksheetDataDictionary(this._columnCount, this.options.columnWidth); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NoZWV0LWRhdGEuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pZ25pdGV1aS1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2V4Y2VsL3dvcmtzaGVldC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV0RSxjQUFjO0FBQ2QsTUFBTSxPQUFPLGFBQWE7SUFPdEIsWUFBb0IsS0FBWSxFQUFTLE9BQWdDLEVBQVMsdUJBQXVCLEVBQ3RGLElBQVMsRUFBUyxpQkFBaUIsS0FBSztRQUR2QyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFBUyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQUE7UUFDdEYsU0FBSSxHQUFKLElBQUksQ0FBSztRQUFTLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBQ3ZELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN4QyxPQUFPO1NBQ1Y7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9ydFV0aWxpdGllcyB9IGZyb20gJy4uL2V4cG9ydGVyLWNvbW1vbi9leHBvcnQtdXRpbGl0aWVzJztcbmltcG9ydCB7IElneEV4Y2VsRXhwb3J0ZXJPcHRpb25zIH0gZnJvbSAnLi9leGNlbC1leHBvcnRlci1vcHRpb25zJztcbmltcG9ydCB7IFdvcmtzaGVldERhdGFEaWN0aW9uYXJ5IH0gZnJvbSAnLi93b3Jrc2hlZXQtZGF0YS1kaWN0aW9uYXJ5JztcblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBjbGFzcyBXb3Jrc2hlZXREYXRhIHtcbiAgICBwcml2YXRlIF9jb2x1bW5Db3VudDogbnVtYmVyO1xuICAgIHByaXZhdGUgX3Jvd0NvdW50OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfZGF0YURpY3Rpb25hcnk6IFdvcmtzaGVldERhdGFEaWN0aW9uYXJ5O1xuICAgIHByaXZhdGUgX2tleXM6IHN0cmluZ1tdO1xuICAgIHByaXZhdGUgX2lzU3BlY2lhbERhdGE6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kYXRhOiBhbnlbXSwgcHVibGljIG9wdGlvbnM6IElneEV4Y2VsRXhwb3J0ZXJPcHRpb25zLCBwdWJsaWMgaW5kZXhPZkxhc3RQaW5uZWRDb2x1bW4sXG4gICAgICAgICAgICAgICAgcHVibGljIHNvcnQ6IGFueSwgcHVibGljIGlzVHJlZUdyaWREYXRhID0gZmFsc2UpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRGF0YSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb2x1bW5Db3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sdW1uQ291bnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByb3dDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm93Q291bnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0VtcHR5KCkge1xuICAgICAgICByZXR1cm4gIXRoaXMucm93Q291bnQgfHwgIXRoaXMuX2NvbHVtbkNvdW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQga2V5cygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9rZXlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNTcGVjaWFsRGF0YSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU3BlY2lhbERhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRhRGljdGlvbmFyeSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFEaWN0aW9uYXJ5O1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZURhdGEoKSB7XG4gICAgICAgIGlmICghdGhpcy5fZGF0YSB8fCB0aGlzLl9kYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWN0dWFsRGF0YSA9IHRoaXMuX2RhdGEubWFwKChpdGVtKSA9PiBpdGVtLnJvd0RhdGEpO1xuXG4gICAgICAgIHRoaXMuX2tleXMgPSBFeHBvcnRVdGlsaXRpZXMuZ2V0S2V5c0Zyb21EYXRhKGFjdHVhbERhdGEpO1xuICAgICAgICBpZiAodGhpcy5fa2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2lzU3BlY2lhbERhdGEgPSBFeHBvcnRVdGlsaXRpZXMuaXNTcGVjaWFsRGF0YShhY3R1YWxEYXRhKTtcblxuICAgICAgICB0aGlzLl9jb2x1bW5Db3VudCA9IHRoaXMuX2tleXMubGVuZ3RoO1xuICAgICAgICB0aGlzLl9yb3dDb3VudCA9IHRoaXMuX2RhdGEubGVuZ3RoICsgMTtcblxuICAgICAgICB0aGlzLl9kYXRhRGljdGlvbmFyeSA9IG5ldyBXb3Jrc2hlZXREYXRhRGljdGlvbmFyeSh0aGlzLl9jb2x1bW5Db3VudCwgdGhpcy5vcHRpb25zLmNvbHVtbldpZHRoKTtcbiAgICB9XG59XG4iXX0=