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