UNPKG

@catull/igniteui-angular

Version:

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

46 lines 5.59 kB
import { __decorate, __metadata } from "tslib"; import { Pipe } from '@angular/core'; import { GridBaseAPIService } from '../api.service'; /** @hidden */ var IgxGridDetailsPipe = /** @class */ (function () { function IgxGridDetailsPipe(gridAPI) { this.gridAPI = gridAPI; } IgxGridDetailsPipe.prototype.transform = function (collection, hasDetails, expansionStates, pipeTrigger) { if (!hasDetails) { return collection; } var res = this.addDetailRows(collection, expansionStates); return res; }; IgxGridDetailsPipe.prototype.addDetailRows = function (collection, expansionStates) { var _this = this; var result = []; collection.forEach(function (v) { result.push(v); if (!_this.gridAPI.grid.isGroupByRecord(v) && _this.isExpanded(expansionStates, v)) { var detailsObj = { detailsData: v }; result.push(detailsObj); } }); return result; }; IgxGridDetailsPipe.prototype.isExpanded = function (states, record) { var pk = this.gridAPI.grid.primaryKey; var rowID = pk ? record[pk] : record; return states.get(rowID); }; IgxGridDetailsPipe.ctorParameters = function () { return [ { type: GridBaseAPIService } ]; }; IgxGridDetailsPipe = __decorate([ Pipe({ name: 'gridDetails', pure: true }), __metadata("design:paramtypes", [GridBaseAPIService]) ], IgxGridDetailsPipe); return IgxGridDetailsPipe; }()); export { IgxGridDetailsPipe }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5kZXRhaWxzLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pZ25pdGV1aS1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL2dyaWRzL2dyaWQvZ3JpZC5kZXRhaWxzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBaUIsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3BELGNBQWM7QUFLZDtJQUVJLDRCQUFZLE9BQTREO1FBQ3BFLElBQUksQ0FBQyxPQUFPLEdBQXNCLE9BQU8sQ0FBQztJQUM5QyxDQUFDO0lBQ00sc0NBQVMsR0FBaEIsVUFBaUIsVUFBaUIsRUFBRSxVQUFtQixFQUFFLGVBQW1DLEVBQUUsV0FBbUI7UUFDN0csSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNiLE9BQU8sVUFBVSxDQUFDO1NBQ3JCO1FBQ0QsSUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDNUQsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRVMsMENBQWEsR0FBdkIsVUFBd0IsVUFBaUIsRUFBRSxlQUFrQztRQUE3RSxpQkFVQztRQVRHLElBQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixVQUFVLENBQUMsT0FBTyxDQUFDLFVBQUMsQ0FBQztZQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDOUUsSUFBTSxVQUFVLEdBQUcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFDUyx1Q0FBVSxHQUFwQixVQUFxQixNQUEwQixFQUFFLE1BQVc7UUFDeEQsSUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3hDLElBQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDdkMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7O2dCQTFCcUIsa0JBQWtCOztJQUY5QixrQkFBa0I7UUFKOUIsSUFBSSxDQUFDO1lBQ0YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFDO3lDQUd1QixrQkFBa0I7T0FGOUIsa0JBQWtCLENBNkI5QjtJQUFELHlCQUFDO0NBQUEsQUE3QkQsSUE2QkM7U0E3Qlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JpZFR5cGUgfSBmcm9tICcuLi9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSWd4R3JpZEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9ncmlkLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEdyaWRCYXNlQVBJU2VydmljZSB9IGZyb20gJy4uL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IElneEdyaWRBUElTZXJ2aWNlIH0gZnJvbSAnLi9ncmlkLWFwaS5zZXJ2aWNlJztcblxuLyoqIEBoaWRkZW4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAnZ3JpZERldGFpbHMnLFxuICAgIHB1cmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZERldGFpbHNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHJpdmF0ZSBncmlkQVBJOiBJZ3hHcmlkQVBJU2VydmljZTtcbiAgICBjb25zdHJ1Y3RvcihncmlkQVBJOiBHcmlkQmFzZUFQSVNlcnZpY2U8SWd4R3JpZEJhc2VEaXJlY3RpdmUgJiBHcmlkVHlwZT4pIHtcbiAgICAgICAgdGhpcy5ncmlkQVBJID0gPElneEdyaWRBUElTZXJ2aWNlPmdyaWRBUEk7XG4gICAgfVxuICAgIHB1YmxpYyB0cmFuc2Zvcm0oY29sbGVjdGlvbjogYW55W10sIGhhc0RldGFpbHM6IGJvb2xlYW4sIGV4cGFuc2lvblN0YXRlczogIE1hcDxhbnksIGJvb2xlYW4+LCBwaXBlVHJpZ2dlcjogbnVtYmVyKSB7XG4gICAgICAgIGlmICghaGFzRGV0YWlscykge1xuICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzID0gdGhpcy5hZGREZXRhaWxSb3dzKGNvbGxlY3Rpb24sIGV4cGFuc2lvblN0YXRlcyk7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFkZERldGFpbFJvd3MoY29sbGVjdGlvbjogYW55W10sIGV4cGFuc2lvblN0YXRlczogTWFwPGFueSwgYm9vbGVhbj4pIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGNvbGxlY3Rpb24uZm9yRWFjaCgodikgPT4ge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godik7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZ3JpZEFQSS5ncmlkLmlzR3JvdXBCeVJlY29yZCh2KSAmJiB0aGlzLmlzRXhwYW5kZWQoZXhwYW5zaW9uU3RhdGVzLCB2KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRldGFpbHNPYmogPSB7IGRldGFpbHNEYXRhOiB2IH07XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goZGV0YWlsc09iaik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgaXNFeHBhbmRlZChzdGF0ZXM6ICBNYXA8YW55LCBib29sZWFuPiwgcmVjb3JkOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcGsgPSB0aGlzLmdyaWRBUEkuZ3JpZC5wcmltYXJ5S2V5O1xuICAgICAgICBjb25zdCByb3dJRCA9IHBrID8gcmVjb3JkW3BrXSA6IHJlY29yZDtcbiAgICAgICAgcmV0dXJuIHN0YXRlcy5nZXQocm93SUQpO1xuICAgfVxufVxuIl19