UNPKG

@catull/igniteui-angular

Version:

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

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