igniteui-angular 18.2.21 → 18.2.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/services/csv/char-separated-value-data.mjs +5 -2
- package/esm2022/lib/services/csv/csv-exporter.mjs +23 -4
- package/esm2022/lib/services/exporter-common/base-export-service.mjs +8 -1
- package/fesm2022/igniteui-angular.mjs +32 -3
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/core/styles/components/icon-button/_icon-button-theme.scss +2 -2
- package/lib/core/styles/components/input/_input-group-theme.scss +4 -0
- package/lib/services/exporter-common/base-export-service.d.ts +2 -0
- package/package.json +1 -1
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
|
@@ -43,7 +43,10 @@ export class CharSeparatedValueData {
|
|
|
43
43
|
this._isSpecialData = ExportUtilities.isSpecialData(this._data[0]);
|
|
44
44
|
this._escapeCharacters.push(this._delimiter);
|
|
45
45
|
const headers = columns && columns.length ?
|
|
46
|
-
|
|
46
|
+
/* When column groups are present, always use the field as it indicates the group the column belongs to.
|
|
47
|
+
* Otherwise, in PivotGrid scenarios we can end up with many duplicated column names without a hint what they represent.
|
|
48
|
+
*/
|
|
49
|
+
columns.map(c => c.columnGroupParent ? c.field : c.header ?? c.field) :
|
|
47
50
|
keys;
|
|
48
51
|
this._headerRecord = this.processHeaderRecord(headers, this._data.length);
|
|
49
52
|
if (keys.length === 0 || ((!this._data || this._data.length === 0) && keys.length === 0)) {
|
|
@@ -100,4 +103,4 @@ export class CharSeparatedValueData {
|
|
|
100
103
|
this._delimiterLength = value.length;
|
|
101
104
|
}
|
|
102
105
|
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhci1zZXBhcmF0ZWQtdmFsdWUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9jc3YvY2hhci1zZXBhcmF0ZWQtdmFsdWUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2hEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQVMvQixZQUFvQixLQUFZLEVBQUUsY0FBc0IsRUFBVSxVQUF5QixFQUFFO1FBQXpFLFVBQUssR0FBTCxLQUFLLENBQU87UUFBa0MsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFSckYsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUVkLHNCQUFpQixHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDckIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQVc7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxHQUFHLEVBQUMsQ0FBQztZQUNMLElBQUksR0FBRyxHQUFHLENBQUM7UUFDZixDQUFDO2FBQUssQ0FBQztZQUNILElBQUks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WSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUNqQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ0YsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRCxDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBSztRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeHBvcnRVdGlsaXRpZXMgfSBmcm9tICcuLi9leHBvcnRlci1jb21tb24vZXhwb3J0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyB5aWVsZGluZ0xvb3AgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IElDb2x1bW5JbmZvIH0gZnJvbSAnLi4vZXhwb3J0ZXItY29tbW9uL2Jhc2UtZXhwb3J0LXNlcnZpY2UnO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNsYXNzIENoYXJTZXBhcmF0ZWRWYWx1ZURhdGEge1xuICAgIHByaXZhdGUgX2hlYWRlclJlY29yZCA9ICcnO1xuICAgIHByaXZhdGUgX2RhdGFSZWNvcmRzID0gJyc7XG4gICAgcHJpdmF0ZSBfZW9yID0gJ1xcclxcbic7XG4gICAgcHJpdmF0ZSBfZGVsaW1pdGVyO1xuICAgIHByaXZhdGUgX2VzY2FwZUNoYXJhY3RlcnMgPSBbJ1xccicsICdcXG4nLCAnXFxyXFxuJ107XG4gICAgcHJpdmF0ZSBfZGVsaW1pdGVyTGVuZ3RoID0gMTtcbiAgICBwcml2YXRlIF9pc1NwZWNpYWxEYXRhID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kYXRhOiBhbnlbXSwgdmFsdWVEZWxpbWl0ZXI6IHN0cmluZywgcHJpdmF0ZSBjb2x1bW5zOiBJQ29sdW1uSW5mb1tdID0gW10pICB7XG4gICAgICAgIHRoaXMuc2V0RGVsaW1pdGVyKHZhbHVlRGVsaW1pdGVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcHJlcGFyZURhdGEoa2V5PzogYW55W10pIHtcbiAgICAgICAgaWYgKCF0aGlzLl9kYXRhIHx8IHRoaXMuX2RhdGEubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGtleXMgPSBbXTtcbiAgICAgICAgaWYgKGtleSl7XG4gICAgICAgICAgICBrZXlzID0ga2V5O1xuICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgICBrZXlzID0gRXhwb3J0VXRpbGl0aWVzLmdldEtleXNGcm9tRGF0YSh0aGlzLl9kYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faXNTcGVjaWFsRGF0YSA9IEV4cG9ydFV0aWxpdGllcy5pc1NwZWNpYWxEYXRhKHRoaXMuX2RhdGFbMF0pO1xuICAgICAgICB0aGlzLl9lc2NhcGVDaGFyYWN0ZXJzLnB1c2godGhpcy5fZGVsaW1pdGVyKTtcblxuICAgICAgICB0aGlzLl9oZWFkZXJSZWNvcmQgPSB0aGlzLnByb2Nlc3NIZWFkZXJSZWNvcmQoa2V5cywgdGhpcy5fZGF0YS5sZW5ndGgpO1xuICAgICAgICB0aGlzLl9kYXRhUmVjb3JkcyA9IHRoaXMucHJvY2Vzc0RhdGFSZWNvcmRzKHRoaXMuX2RhdGEsIGtleXMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9oZWFkZXJSZWNvcmQgKyB0aGlzLl9kYXRhUmVjb3JkcztcbiAgICB9XG5cbiAgICBwdWJsaWMgcHJlcGFyZURhdGFBc3luYyhkb25lOiAocmVzdWx0OiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuY29sdW1ucz8uZmlsdGVyKGMgPT4gIWMuc2tpcClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLnN0YXJ0SW5kZXggLSBiLnN0YXJ0SW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5waW5uZWRJbmRleCAtIGIucGlubmVkSW5kZXgpO1xuICAgICAgICBjb25zdCBrZXlzID0gY29sdW1ucyAmJiBjb2x1bW5zLmxlbmd0aCA/IGNvbHVtbnMubWFwKGMgPT4gYy5maWVsZCkgOiBFeHBvcnRVdGlsaXRpZXMuZ2V0S2V5c0Zyb21EYXRhKHRoaXMuX2RhdGEpO1xuXG4gICAgICAgIHRoaXMuX2lzU3BlY2lhbERhdGEgPSBFeHBvcnRVdGlsaXRpZXMuaXNTcGVjaWFsRGF0YSh0aGlzLl9kYXRhWzBdKTtcbiAgICAgICAgdGhpcy5fZXNjYXBlQ2hhcmFjdGVycy5wdXNoKHRoaXMuX2RlbGltaXRlcik7XG5cbiAgICAgICAgY29uc3QgaGVhZGVycyA9IGNvbHVtbnMgJiYgY29sdW1ucy5sZW5ndGggP1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucy5tYXAoYyA9PiBjLmhlYWRlciA/PyBjLmZpZWxkKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXlzO1xuXG4gICAgICAgIHRoaXMuX2hlYWRlclJlY29yZCA9IHRoaXMucHJvY2Vzc0hlYWRlclJlY29yZChoZWFkZXJzLCB0aGlzLl9kYXRhLmxlbmd0aCk7XG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMCB8fCAoKCF0aGlzLl9kYXRhIHx8IHRoaXMuX2RhdGEubGVuZ3RoID09PSAwKSAmJiBrZXlzLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgICAgICAgIGRvbmUoJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGF0YVJlY29yZHNBc3luYyh0aGlzLl9kYXRhLCBrZXlzLCAoZHIpID0+IHtcbiAgICAgICAgICAgICAgICBkb25lKHRoaXMuX2hlYWRlclJlY29yZCArIGRyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzRmllbGQodmFsdWUsIGVzY2FwZUNoYXJzKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHNhZmVWYWx1ZSA9IEV4cG9ydFV0aWxpdGllcy5oYXNWYWx1ZSh2YWx1ZSkgPyBTdHJpbmcodmFsdWUpIDogJyc7XG4gICAgICAgIGlmIChlc2NhcGVDaGFycy5zb21lKCh2KSA9PiBzYWZlVmFsdWUuaW5jbHVkZXModikpKSB7XG4gICAgICAgICAgICBzYWZlVmFsdWUgPSBgXCIke3NhZmVWYWx1ZX1cImA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNhZmVWYWx1ZSArIHRoaXMuX2RlbGltaXRlcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NIZWFkZXJSZWNvcmQoa2V5cywgZGF0YUxlbmd0aCk6IHN0cmluZyB7XG4gICAgICAgIGxldCByZWNvcmREYXRhID0gJyc7XG4gICAgICAgIGZvciAoY29uc3Qga2V5TmFtZSBvZiBrZXlzKSB7XG4gICAgICAgICAgICByZWNvcmREYXRhICs9IHRoaXMucHJvY2Vzc0ZpZWxkKGtleU5hbWUsIHRoaXMuX2VzY2FwZUNoYXJhY3RlcnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVjb3JkRGF0YS5zbGljZSgwLCAtdGhpcy5fZGVsaW1pdGVyTGVuZ3RoKTtcblxuICAgICAgICByZXR1cm4gZGF0YUxlbmd0aCA+IDAgPyByZXN1bHQgKyB0aGlzLl9lb3IgOiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzUmVjb3JkKHJlY29yZCwga2V5cyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlY29yZERhdGEgPSBuZXcgQXJyYXkoa2V5cy5sZW5ndGgpO1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwga2V5cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gKHJlY29yZFtrZXlzW2luZGV4XV0gIT09IHVuZGVmaW5lZCkgPyByZWNvcmRba2V5c1tpbmRleF1dIDogdGhpcy5faXNTcGVjaWFsRGF0YSA/IHJlY29yZCA6ICcnO1xuICAgICAgICAgICAgcmVjb3JkRGF0YVtpbmRleF0gPSB0aGlzLnByb2Nlc3NGaWVsZCh2YWx1ZSwgdGhpcy5fZXNjYXBlQ2hhcmFjdGVycyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVjb3JkRGF0YS5qb2luKCcnKS5zbGljZSgwLCAtdGhpcy5fZGVsaW1pdGVyTGVuZ3RoKSArIHRoaXMuX2VvcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NEYXRhUmVjb3JkcyhjdXJyZW50RGF0YSwga2V5cykge1xuICAgICAgICBjb25zdCBkYXRhUmVjb3JkcyA9IG5ldyBBcnJheShjdXJyZW50RGF0YS5sZW5ndGgpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY3VycmVudERhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IGN1cnJlbnREYXRhW2ldO1xuICAgICAgICAgICAgZGF0YVJlY29yZHNbaV0gPSB0aGlzLnByb2Nlc3NSZWNvcmQocm93LCBrZXlzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkYXRhUmVjb3Jkcy5qb2luKCcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NEYXRhUmVjb3Jkc0FzeW5jKGN1cnJlbnREYXRhLCBrZXlzLCBkb25lOiAocmVzdWx0OiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICAgICAgY29uc3QgZGF0YVJlY29yZHMgPSBuZXcgQXJyYXkoY3VycmVudERhdGEubGVuZ3RoKTtcblxuICAgICAgICB5aWVsZGluZ0xvb3AoY3VycmVudERhdGEubGVuZ3RoLCAxMDAwLFxuICAgICAgICAgICAgKGkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByb3cgPSBjdXJyZW50RGF0YVtpXTtcbiAgICAgICAgICAgICAgICBkYXRhUmVjb3Jkc1tpXSA9IHRoaXMucHJvY2Vzc1JlY29yZChyb3csIGtleXMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBkb25lKGRhdGFSZWNvcmRzLmpvaW4oJycpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVsaW1pdGVyKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2RlbGltaXRlciA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9kZWxpbWl0ZXJMZW5ndGggPSB2YWx1ZS5sZW5ndGg7XG4gICAgfVxufVxuIl19
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhci1zZXBhcmF0ZWQtdmFsdWUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9jc3YvY2hhci1zZXBhcmF0ZWQtdmFsdWUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2hEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQVMvQixZQUFvQixLQUFZLEVBQUUsY0FBc0IsRUFBVSxVQUF5QixFQUFFO1FBQXpFLFVBQUssR0FBTCxLQUFLLENBQU87UUFBa0MsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFSckYsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUVkLHNCQUFpQixHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDckIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQVc7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxHQUFHLEVBQUMsQ0FBQztZQUNMLElBQUksR0FBRyxHQUFHLENBQUM7UUFDZixDQUFDO2FBQUssQ0FBQztZQUNILElBQUks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OEI7UUFDN0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWxELFlBQVksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksRUFDakMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNGLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkQsQ0FBQyxFQUNELEdBQUcsRUFBRTtZQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQUs7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDekMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3J0VXRpbGl0aWVzIH0gZnJvbSAnLi4vZXhwb3J0ZXItY29tbW9uL2V4cG9ydC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgeWllbGRpbmdMb29wIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJQ29sdW1uSW5mbyB9IGZyb20gJy4uL2V4cG9ydGVyLWNvbW1vbi9iYXNlLWV4cG9ydC1zZXJ2aWNlJztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjbGFzcyBDaGFyU2VwYXJhdGVkVmFsdWVEYXRhIHtcbiAgICBwcml2YXRlIF9oZWFkZXJSZWNvcmQgPSAnJztcbiAgICBwcml2YXRlIF9kYXRhUmVjb3JkcyA9ICcnO1xuICAgIHByaXZhdGUgX2VvciA9ICdcXHJcXG4nO1xuICAgIHByaXZhdGUgX2RlbGltaXRlcjtcbiAgICBwcml2YXRlIF9lc2NhcGVDaGFyYWN0ZXJzID0gWydcXHInLCAnXFxuJywgJ1xcclxcbiddO1xuICAgIHByaXZhdGUgX2RlbGltaXRlckxlbmd0aCA9IDE7XG4gICAgcHJpdmF0ZSBfaXNTcGVjaWFsRGF0YSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGF0YTogYW55W10sIHZhbHVlRGVsaW1pdGVyOiBzdHJpbmcsIHByaXZhdGUgY29sdW1uczogSUNvbHVtbkluZm9bXSA9IFtdKSAge1xuICAgICAgICB0aGlzLnNldERlbGltaXRlcih2YWx1ZURlbGltaXRlcik7XG4gICAgfVxuXG4gICAgcHVibGljIHByZXBhcmVEYXRhKGtleT86IGFueVtdKSB7XG4gICAgICAgIGlmICghdGhpcy5fZGF0YSB8fCB0aGlzLl9kYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGxldCBrZXlzID0gW107XG4gICAgICAgIGlmIChrZXkpe1xuICAgICAgICAgICAga2V5cyA9IGtleTtcbiAgICAgICAgfWVsc2Uge1xuICAgICAgICAgICAga2V5cyA9IEV4cG9ydFV0aWxpdGllcy5nZXRLZXlzRnJvbURhdGEodGhpcy5fZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2lzU3BlY2lhbERhdGEgPSBFeHBvcnRVdGlsaXRpZXMuaXNTcGVjaWFsRGF0YSh0aGlzLl9kYXRhWzBdKTtcbiAgICAgICAgdGhpcy5fZXNjYXBlQ2hhcmFjdGVycy5wdXNoKHRoaXMuX2RlbGltaXRlcik7XG5cbiAgICAgICAgdGhpcy5faGVhZGVyUmVjb3JkID0gdGhpcy5wcm9jZXNzSGVhZGVyUmVjb3JkKGtleXMsIHRoaXMuX2RhdGEubGVuZ3RoKTtcbiAgICAgICAgdGhpcy5fZGF0YVJlY29yZHMgPSB0aGlzLnByb2Nlc3NEYXRhUmVjb3Jkcyh0aGlzLl9kYXRhLCBrZXlzKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5faGVhZGVyUmVjb3JkICsgdGhpcy5fZGF0YVJlY29yZHM7XG4gICAgfVxuXG4gICAgcHVibGljIHByZXBhcmVEYXRhQXN5bmMoZG9uZTogKHJlc3VsdDogc3RyaW5nKSA9PiB2b2lkKSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmNvbHVtbnM/LmZpbHRlcihjID0+ICFjLnNraXApXG4gICAgICAgICAgICAgICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5zdGFydEluZGV4IC0gYi5zdGFydEluZGV4KVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEucGlubmVkSW5kZXggLSBiLnBpbm5lZEluZGV4KTtcbiAgICAgICAgY29uc3Qga2V5cyA9IGNvbHVtbnMgJiYgY29sdW1ucy5sZW5ndGggPyBjb2x1bW5zLm1hcChjID0+IGMuZmllbGQpIDogRXhwb3J0VXRpbGl0aWVzLmdldEtleXNGcm9tRGF0YSh0aGlzLl9kYXRhKTtcblxuICAgICAgICB0aGlzLl9pc1NwZWNpYWxEYXRhID0gRXhwb3J0VXRpbGl0aWVzLmlzU3BlY2lhbERhdGEodGhpcy5fZGF0YVswXSk7XG4gICAgICAgIHRoaXMuX2VzY2FwZUNoYXJhY3RlcnMucHVzaCh0aGlzLl9kZWxpbWl0ZXIpO1xuXG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBjb2x1bW5zICYmIGNvbHVtbnMubGVuZ3RoID9cbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIFdoZW4gY29sdW1uIGdyb3VwcyBhcmUgcHJlc2VudCwgYWx3YXlzIHVzZSB0aGUgZmllbGQgYXMgaXQgaW5kaWNhdGVzIHRoZSBncm91cCB0aGUgY29sdW1uIGJlbG9uZ3MgdG8uXG4gICAgICAgICAgICAgICAgICAgICAgICAqIE90aGVyd2lzZSwgaW4gUGl2b3RHcmlkIHNjZW5hcmlvcyB3ZSBjYW4gZW5kIHVwIHdpdGggbWFueSBkdXBsaWNhdGVkIGNvbHVtbiBuYW1lcyB3aXRob3V0IGEgaGludCB3aGF0IHRoZXkgcmVwcmVzZW50LlxuICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMubWFwKGMgPT4gYy5jb2x1bW5Hcm91cFBhcmVudCA/IGMuZmllbGQgOiBjLmhlYWRlciA/PyBjLmZpZWxkKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXlzO1xuXG4gICAgICAgIHRoaXMuX2hlYWRlclJlY29yZCA9IHRoaXMucHJvY2Vzc0hlYWRlclJlY29yZChoZWFkZXJzLCB0aGlzLl9kYXRhLmxlbmd0aCk7XG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMCB8fCAoKCF0aGlzLl9kYXRhIHx8IHRoaXMuX2RhdGEubGVuZ3RoID09PSAwKSAmJiBrZXlzLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgICAgICAgIGRvbmUoJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGF0YVJlY29yZHNBc3luYyh0aGlzLl9kYXRhLCBrZXlzLCAoZHIpID0+IHtcbiAgICAgICAgICAgICAgICBkb25lKHRoaXMuX2hlYWRlclJlY29yZCArIGRyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzRmllbGQodmFsdWUsIGVzY2FwZUNoYXJzKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHNhZmVWYWx1ZSA9IEV4cG9ydFV0aWxpdGllcy5oYXNWYWx1ZSh2YWx1ZSkgPyBTdHJpbmcodmFsdWUpIDogJyc7XG4gICAgICAgIGlmIChlc2NhcGVDaGFycy5zb21lKCh2KSA9PiBzYWZlVmFsdWUuaW5jbHVkZXModikpKSB7XG4gICAgICAgICAgICBzYWZlVmFsdWUgPSBgXCIke3NhZmVWYWx1ZX1cImA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNhZmVWYWx1ZSArIHRoaXMuX2RlbGltaXRlcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NIZWFkZXJSZWNvcmQoa2V5cywgZGF0YUxlbmd0aCk6IHN0cmluZyB7XG4gICAgICAgIGxldCByZWNvcmREYXRhID0gJyc7XG4gICAgICAgIGZvciAoY29uc3Qga2V5TmFtZSBvZiBrZXlzKSB7XG4gICAgICAgICAgICByZWNvcmREYXRhICs9IHRoaXMucHJvY2Vzc0ZpZWxkKGtleU5hbWUsIHRoaXMuX2VzY2FwZUNoYXJhY3RlcnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVjb3JkRGF0YS5zbGljZSgwLCAtdGhpcy5fZGVsaW1pdGVyTGVuZ3RoKTtcblxuICAgICAgICByZXR1cm4gZGF0YUxlbmd0aCA+IDAgPyByZXN1bHQgKyB0aGlzLl9lb3IgOiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzUmVjb3JkKHJlY29yZCwga2V5cyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlY29yZERhdGEgPSBuZXcgQXJyYXkoa2V5cy5sZW5ndGgpO1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwga2V5cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gKHJlY29yZFtrZXlzW2luZGV4XV0gIT09IHVuZGVmaW5lZCkgPyByZWNvcmRba2V5c1tpbmRleF1dIDogdGhpcy5faXNTcGVjaWFsRGF0YSA/IHJlY29yZCA6ICcnO1xuICAgICAgICAgICAgcmVjb3JkRGF0YVtpbmRleF0gPSB0aGlzLnByb2Nlc3NGaWVsZCh2YWx1ZSwgdGhpcy5fZXNjYXBlQ2hhcmFjdGVycyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVjb3JkRGF0YS5qb2luKCcnKS5zbGljZSgwLCAtdGhpcy5fZGVsaW1pdGVyTGVuZ3RoKSArIHRoaXMuX2VvcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NEYXRhUmVjb3JkcyhjdXJyZW50RGF0YSwga2V5cykge1xuICAgICAgICBjb25zdCBkYXRhUmVjb3JkcyA9IG5ldyBBcnJheShjdXJyZW50RGF0YS5sZW5ndGgpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY3VycmVudERhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IGN1cnJlbnREYXRhW2ldO1xuICAgICAgICAgICAgZGF0YVJlY29yZHNbaV0gPSB0aGlzLnByb2Nlc3NSZWNvcmQocm93LCBrZXlzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkYXRhUmVjb3Jkcy5qb2luKCcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NEYXRhUmVjb3Jkc0FzeW5jKGN1cnJlbnREYXRhLCBrZXlzLCBkb25lOiAocmVzdWx0OiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICAgICAgY29uc3QgZGF0YVJlY29yZHMgPSBuZXcgQXJyYXkoY3VycmVudERhdGEubGVuZ3RoKTtcblxuICAgICAgICB5aWVsZGluZ0xvb3AoY3VycmVudERhdGEubGVuZ3RoLCAxMDAwLFxuICAgICAgICAgICAgKGkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByb3cgPSBjdXJyZW50RGF0YVtpXTtcbiAgICAgICAgICAgICAgICBkYXRhUmVjb3Jkc1tpXSA9IHRoaXMucHJvY2Vzc1JlY29yZChyb3csIGtleXMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBkb25lKGRhdGFSZWNvcmRzLmpvaW4oJycpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVsaW1pdGVyKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2RlbGltaXRlciA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9kZWxpbWl0ZXJMZW5ndGggPSB2YWx1ZS5sZW5ndGg7XG4gICAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
-
import { DEFAULT_OWNER, IgxBaseExporter } from '../exporter-common/base-export-service';
|
|
2
|
+
import { DEFAULT_OWNER, ExportHeaderType, IgxBaseExporter } from '../exporter-common/base-export-service';
|
|
3
3
|
import { ExportUtilities } from '../exporter-common/export-utilities';
|
|
4
4
|
import { CharSeparatedValueData } from './char-separated-value-data';
|
|
5
5
|
import { CsvFileTypes } from './csv-exporter-options';
|
|
@@ -42,9 +42,28 @@ export class IgxCsvExporterService extends IgxBaseExporter {
|
|
|
42
42
|
this.exportEnded = new EventEmitter();
|
|
43
43
|
}
|
|
44
44
|
exportDataImplementation(data, options, done) {
|
|
45
|
-
|
|
45
|
+
const dimensionKeys = data[0]?.dimensionKeys;
|
|
46
|
+
data = dimensionKeys?.length ?
|
|
47
|
+
data.map((item) => item.rawData) :
|
|
48
|
+
data.map((item) => item.data);
|
|
46
49
|
const columnList = this._ownersMap.get(DEFAULT_OWNER);
|
|
47
|
-
const
|
|
50
|
+
const columns = columnList?.columns.filter(c => c.headerType === ExportHeaderType.ColumnHeader);
|
|
51
|
+
if (dimensionKeys) {
|
|
52
|
+
const dimensionCols = dimensionKeys.map((key) => {
|
|
53
|
+
const columnInfo = {
|
|
54
|
+
header: key,
|
|
55
|
+
field: key,
|
|
56
|
+
dataType: 'string',
|
|
57
|
+
skip: false,
|
|
58
|
+
headerType: ExportHeaderType.ColumnHeader,
|
|
59
|
+
columnSpan: 1,
|
|
60
|
+
startIndex: 0
|
|
61
|
+
};
|
|
62
|
+
return columnInfo;
|
|
63
|
+
});
|
|
64
|
+
columns.unshift(...dimensionCols);
|
|
65
|
+
}
|
|
66
|
+
const csvData = new CharSeparatedValueData(data, options.valueDelimiter, columns);
|
|
48
67
|
csvData.prepareDataAsync((r) => {
|
|
49
68
|
this._stringData = r;
|
|
50
69
|
this.saveFile(options);
|
|
@@ -76,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
76
95
|
providedIn: 'root',
|
|
77
96
|
}]
|
|
78
97
|
}] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LWV4cG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2Nzdi9jc3YtZXhwb3J0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBOEIsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdEksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQXlCLE1BQU0sd0JBQXdCLENBQUM7O0FBTzdFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFJSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQUgxRDs7UUFJSTs7Ozs7Ozs7O1dBU0c7UUFDYSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO0tBb0Q5RTtJQWhEYSx3QkFBd0IsQ0FBQyxJQUFxQixFQUFFLE9BQThCLEVBQUUsSUFBZ0I7UUFDdEcsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQztRQUM3QyxJQUFJLEdBQUcsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RCxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEcsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNoQixNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzVDLE1BQU0sVUFBVSxHQUFnQjtvQkFDNUIsTUFBTSxFQUFFLEdBQUc7b0JBQ1gsS0FBSyxFQUFFLEdBQUc7b0JBQ1YsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLElBQUksRUFBRSxLQUFLO29CQUNYLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZO29CQUN6QyxVQUFVLEVBQUUsQ0FBQztvQkFDYixVQUFVLEVBQUUsQ0FBQztpQkFDaEIsQ0FBQztnQkFDRixPQUFPLFVBQVUsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELElBQUksRUFBRSxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sUUFBUSxDQUFDLE9BQThCO1FBQzNDLFFBQVEsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssWUFBWSxDQUFDLEdBQUc7Z0JBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLHlCQUF5QixDQUFDLENBQUM7Z0JBQy9FLE1BQU07WUFDVixLQUFLLFlBQVksQ0FBQyxHQUFHLENBQUM7WUFDdEIsS0FBSyxZQUFZLENBQUMsR0FBRztnQkFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsMENBQTBDLENBQUMsQ0FBQztnQkFDaEcsTUFBTTtRQUNkLENBQUM7SUFDTCxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVksRUFBRSxRQUFnQixFQUFFLFFBQWdCO1FBQy9ELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7OEdBOURRLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRmxCLE1BQU07OzJGQUVULHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERFRkFVTFRfT1dORVIsIEV4cG9ydEhlYWRlclR5cGUsIElDb2x1bW5JbmZvLCBJRXhwb3J0UmVjb3JkLCBJZ3hCYXNlRXhwb3J0ZXIgfSBmcm9tICcuLi9leHBvcnRlci1jb21tb24vYmFzZS1leHBvcnQtc2VydmljZSc7XG5pbXBvcnQgeyBFeHBvcnRVdGlsaXRpZXMgfSBmcm9tICcuLi9leHBvcnRlci1jb21tb24vZXhwb3J0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBDaGFyU2VwYXJhdGVkVmFsdWVEYXRhIH0gZnJvbSAnLi9jaGFyLXNlcGFyYXRlZC12YWx1ZS1kYXRhJztcbmltcG9ydCB7IENzdkZpbGVUeXBlcywgSWd4Q3N2RXhwb3J0ZXJPcHRpb25zIH0gZnJvbSAnLi9jc3YtZXhwb3J0ZXItb3B0aW9ucyc7XG5pbXBvcnQgeyBJQmFzZUV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDc3ZFeHBvcnRFbmRlZEV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICBjc3ZEYXRhPzogc3RyaW5nO1xufVxuXG4vKipcbiAqICoqSWduaXRlIFVJIGZvciBBbmd1bGFyIENTViBFeHBvcnRlciBTZXJ2aWNlKiogLVxuICogW0RvY3VtZW50YXRpb25dKGh0dHBzOi8vd3d3LmluZnJhZ2lzdGljcy5jb20vcHJvZHVjdHMvaWduaXRlLXVpLWFuZ3VsYXIvYW5ndWxhci9jb21wb25lbnRzL2V4cG9ydGVyLWNzdilcbiAqXG4gKiBUaGUgSWduaXRlIFVJIGZvciBBbmd1bGFyIENTViBFeHBvcnRlciBzZXJ2aWNlIGNhbiBleHBvcnQgZGF0YSBpbiBhIENoYXJhY3RlciBTZXBhcmF0ZWQgVmFsdWVzIGZvcm1hdCBmcm9tXG4gKiBib3RoIHJhdyBkYXRhIChhcnJheSkgb3IgZnJvbSBhbiBgSWd4R3JpZGAuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHB1YmxpYyBsb2NhbERhdGEgPSBbXG4gKiAgIHsgTmFtZTogXCJFcmljIFJpZGxleVwiLCBBZ2U6IFwiMjZcIiB9LFxuICogICB7IE5hbWU6IFwiQWxhbmlzIEJyb29rXCIsIEFnZTogXCIyMlwiIH0sXG4gKiAgIHsgTmFtZTogXCJKb25hdGhhbiBNb3JyaXNcIiwgQWdlOiBcIjIzXCIgfVxuICogXTtcbiAqXG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIGNzdkV4cG9ydFNlcnZpY2U6IElneENzdkV4cG9ydGVyU2VydmljZSkge1xuICogfVxuICpcbiAqIGNvbnN0IG9wdDogSWd4Q3N2RXhwb3J0ZXJPcHRpb25zID0gbmV3IElneENzdkV4cG9ydGVyT3B0aW9ucyhcIkZpbGVOYW1lXCIsIENzdkZpbGVUeXBlcy5DU1YpO1xuICogdGhpcy5jc3ZFeHBvcnRTZXJ2aWNlLmV4cG9ydERhdGEodGhpcy5sb2NhbERhdGEsIG9wdCk7XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q3N2RXhwb3J0ZXJTZXJ2aWNlIGV4dGVuZHMgSWd4QmFzZUV4cG9ydGVyIHtcbiAgICAvKipcbiAgICAgKiBUaGlzIGV2ZW50IGlzIGVtaXR0ZWQgd2hlbiB0aGUgZXhwb3J0IHByb2Nlc3MgZmluaXNoZXMuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuZXhwb3J0ZXJTZXJ2aWNlLmV4cG9ydEVuZGVkLnN1YnNjcmliZSgoYXJnczogSUNzdkV4cG9ydEVuZGVkRXZlbnRBcmdzKSA9PiB7XG4gICAgICogLy8gcHV0IGV2ZW50IGhhbmRsZXIgY29kZSBoZXJlXG4gICAgICogfSk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgSWd4Q3N2RXhwb3J0ZXJTZXJ2aWNlXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGV4cG9ydEVuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxJQ3N2RXhwb3J0RW5kZWRFdmVudEFyZ3M+KCk7XG5cbiAgICBwcml2YXRlIF9zdHJpbmdEYXRhOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgZXhwb3J0RGF0YUltcGxlbWVudGF0aW9uKGRhdGE6IElFeHBvcnRSZWNvcmRbXSwgb3B0aW9uczogSWd4Q3N2RXhwb3J0ZXJPcHRpb25zLCBkb25lOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIGNvbnN0IGRpbWVuc2lvbktleXMgPSBkYXRhWzBdPy5kaW1lbnNpb25LZXlzO1xuICAgICAgICBkYXRhID0gZGltZW5zaW9uS2V5cz8ubGVuZ3RoID8gXG4gICAgICAgICAgICBkYXRhLm1hcCgoaXRlbSkgPT4gaXRlbS5yYXdEYXRhKTpcbiAgICAgICAgICAgIGRhdGEubWFwKChpdGVtKSA9PiBpdGVtLmRhdGEpO1xuICAgICAgICBjb25zdCBjb2x1bW5MaXN0ID0gdGhpcy5fb3duZXJzTWFwLmdldChERUZBVUxUX09XTkVSKTtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IGNvbHVtbkxpc3Q/LmNvbHVtbnMuZmlsdGVyKGMgPT4gYy5oZWFkZXJUeXBlID09PSBFeHBvcnRIZWFkZXJUeXBlLkNvbHVtbkhlYWRlcik7XG4gICAgICAgIGlmIChkaW1lbnNpb25LZXlzKSB7XG4gICAgICAgICAgICBjb25zdCBkaW1lbnNpb25Db2xzID0gZGltZW5zaW9uS2V5cy5tYXAoKGtleSkgPT4geyAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbkluZm86IElDb2x1bW5JbmZvID0ge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXI6IGtleSxcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGtleSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgICBza2lwOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyVHlwZTogRXhwb3J0SGVhZGVyVHlwZS5Db2x1bW5IZWFkZXIsXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtblNwYW46IDEsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXg6IDBcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiBjb2x1bW5JbmZvO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb2x1bW5zLnVuc2hpZnQoLi4uZGltZW5zaW9uQ29scyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjc3ZEYXRhID0gbmV3IENoYXJTZXBhcmF0ZWRWYWx1ZURhdGEoZGF0YSwgb3B0aW9ucy52YWx1ZURlbGltaXRlciwgY29sdW1ucyk7XG4gICAgICAgIGNzdkRhdGEucHJlcGFyZURhdGFBc3luYygocikgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc3RyaW5nRGF0YSA9IHI7XG4gICAgICAgICAgICB0aGlzLnNhdmVGaWxlKG9wdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy5leHBvcnRFbmRlZC5lbWl0KHsgY3N2RGF0YTogdGhpcy5fc3RyaW5nRGF0YSB9KTtcbiAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlRmlsZShvcHRpb25zOiBJZ3hDc3ZFeHBvcnRlck9wdGlvbnMpIHtcbiAgICAgICAgc3dpdGNoIChvcHRpb25zLmZpbGVUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIENzdkZpbGVUeXBlcy5DU1Y6XG4gICAgICAgICAgICAgICAgdGhpcy5leHBvcnRGaWxlKHRoaXMuX3N0cmluZ0RhdGEsIG9wdGlvbnMuZmlsZU5hbWUsICd0ZXh0L2NzdjtjaGFyc2V0PXV0Zi04OycpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBDc3ZGaWxlVHlwZXMuVFNWOlxuICAgICAgICAgICAgY2FzZSBDc3ZGaWxlVHlwZXMuVEFCOlxuICAgICAgICAgICAgICAgIHRoaXMuZXhwb3J0RmlsZSh0aGlzLl9zdHJpbmdEYXRhLCBvcHRpb25zLmZpbGVOYW1lLCAndGV4dC90YWItc2VwYXJhdGVkLXZhbHVlcztjaGFyc2V0PXV0Zi04OycpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHBvcnRGaWxlKGRhdGE6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZywgZmlsZVR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2RhdGEgPyAnXFx1ZmVmZicgOiAnJywgZGF0YV0sIHsgdHlwZTogZmlsZVR5cGUgfSk7XG4gICAgICAgIEV4cG9ydFV0aWxpdGllcy5zYXZlQmxvYlRvRmlsZShibG9iLCBmaWxlTmFtZSk7XG4gICAgfVxufVxuIl19
|