@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
49 lines • 6.18 kB
JavaScript
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=