UNPKG

@catull/igniteui-angular

Version:

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

84 lines 9.28 kB
import { __decorate, __metadata } from "tslib"; import { Pipe } from '@angular/core'; import { cloneArray } from '../../core/utils'; import { GridBaseAPIService } from '../api.service'; import { DataUtil } from '../../data-operations/data-util'; /** *@hidden */ var IgxGridHierarchicalPipe = /** @class */ (function () { function IgxGridHierarchicalPipe(gridAPI) { this.gridAPI = gridAPI; } IgxGridHierarchicalPipe.prototype.transform = function (collection, state, id, primaryKey, childKeys, pipeTrigger) { if (state === void 0) { state = []; } if (childKeys.length === 0) { return collection; } var grid = this.gridAPI.grid; var result = this.addHierarchy(grid, cloneArray(collection), state, primaryKey, childKeys); return result; }; IgxGridHierarchicalPipe.prototype.addHierarchy = function (grid, data, state, primaryKey, childKeys) { var result = []; data.forEach(function (v) { result.push(v); var childGridsData = {}; childKeys.forEach(function (childKey) { var childData = v[childKey] ? v[childKey] : null; childGridsData[childKey] = childData; }); if (grid.isExpanded(v)) { result.push({ rowID: primaryKey ? v[primaryKey] : v, childGridsData: childGridsData }); } }); return result; }; IgxGridHierarchicalPipe.ctorParameters = function () { return [ { type: GridBaseAPIService } ]; }; IgxGridHierarchicalPipe = __decorate([ Pipe({ name: 'gridHierarchical', pure: true }), __metadata("design:paramtypes", [GridBaseAPIService]) ], IgxGridHierarchicalPipe); return IgxGridHierarchicalPipe; }()); export { IgxGridHierarchicalPipe }; /** *@hidden */ var IgxGridHierarchicalPagingPipe = /** @class */ (function () { function IgxGridHierarchicalPagingPipe(gridAPI) { this.gridAPI = gridAPI; } IgxGridHierarchicalPagingPipe.prototype.transform = function (collection, page, perPage, id, pipeTrigger) { if (page === void 0) { page = 0; } if (perPage === void 0) { perPage = 15; } if (!this.gridAPI.grid.paging) { return collection; } var state = { index: page, recordsPerPage: perPage }; var result = DataUtil.page(cloneArray(collection), state); this.gridAPI.grid.pagingState = state; return result; }; IgxGridHierarchicalPagingPipe.ctorParameters = function () { return [ { type: GridBaseAPIService } ]; }; IgxGridHierarchicalPagingPipe = __decorate([ Pipe({ name: 'gridHierarchicalPaging', pure: true }), __metadata("design:paramtypes", [GridBaseAPIService]) ], IgxGridHierarchicalPagingPipe); return IgxGridHierarchicalPagingPipe; }()); export { IgxGridHierarchicalPagingPipe }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2hpY2FsLWdyaWQucGlwZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pZ25pdGV1aS1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL2dyaWRzL2hpZXJhcmNoaWNhbC1ncmlkL2hpZXJhcmNoaWNhbC1ncmlkLnBpcGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNEOztHQUVHO0FBS0g7SUFFSSxpQ0FBb0IsT0FBeUQ7UUFBekQsWUFBTyxHQUFQLE9BQU8sQ0FBa0Q7SUFBSSxDQUFDO0lBRTNFLDJDQUFTLEdBQWhCLFVBQ0ksVUFBZSxFQUNmLEtBQVUsRUFDVixFQUFVLEVBQ1YsVUFBZSxFQUNmLFNBQW1CLEVBQ25CLFdBQW1CO1FBSm5CLHNCQUFBLEVBQUEsVUFBVTtRQU1WLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxVQUFVLENBQUM7U0FDckI7UUFDRCxJQUFNLElBQUksR0FBaUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDN0QsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFN0YsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVNLDhDQUFZLEdBQW5CLFVBQXVCLElBQUksRUFBRSxJQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFtQjtRQUMxRSxJQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFDLENBQUM7WUFDWCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2YsSUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO1lBQzFCLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBQyxRQUFRO2dCQUN2QixJQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNuRCxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBQyxDQUFDLENBQUM7YUFDekY7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7O2dCQWxDNEIsa0JBQWtCOztJQUZ0Qyx1QkFBdUI7UUFKbkMsSUFBSSxDQUFDO1lBQ0YsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUM7eUNBRytCLGtCQUFrQjtPQUZ0Qyx1QkFBdUIsQ0FxQ25DO0lBQUQsOEJBQUM7Q0FBQSxBQXJDRCxJQXFDQztTQXJDWSx1QkFBdUI7QUF1Q3BDOztHQUVHO0FBS0g7SUFFSSx1Q0FBb0IsT0FBeUQ7UUFBekQsWUFBTyxHQUFQLE9BQU8sQ0FBa0Q7SUFBSSxDQUFDO0lBRTNFLGlEQUFTLEdBQWhCLFVBQWlCLFVBQWlCLEVBQUUsSUFBUSxFQUFFLE9BQVksRUFBRSxFQUFVLEVBQUUsV0FBbUI7UUFBdkQscUJBQUEsRUFBQSxRQUFRO1FBQUUsd0JBQUEsRUFBQSxZQUFZO1FBRXRELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0IsT0FBTyxVQUFVLENBQUM7U0FDckI7UUFFRCxJQUFNLEtBQUssR0FBRztZQUNWLEtBQUssRUFBRSxJQUFJO1lBQ1gsY0FBYyxFQUFFLE9BQU87U0FDMUIsQ0FBQztRQUVGLElBQU0sTUFBTSxHQUFVLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDdEMsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7Z0JBaEI0QixrQkFBa0I7O0lBRnRDLDZCQUE2QjtRQUp6QyxJQUFJLENBQUM7WUFDRixJQUFJLEVBQUUsd0JBQXdCO1lBQzlCLElBQUksRUFBRSxJQUFJO1NBQ2IsQ0FBQzt5Q0FHK0Isa0JBQWtCO09BRnRDLDZCQUE2QixDQW1CekM7SUFBRCxvQ0FBQztDQUFBLEFBbkJELElBbUJDO1NBbkJZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lQXJyYXkgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEdyaWRCYXNlQVBJU2VydmljZSB9IGZyb20gJy4uL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IElneEhpZXJhcmNoaWNhbEdyaWRDb21wb25lbnQgfSBmcm9tICcuL2hpZXJhcmNoaWNhbC1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhVXRpbCB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9kYXRhLXV0aWwnO1xuXG4vKipcbiAqQGhpZGRlblxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2dyaWRIaWVyYXJjaGljYWwnLFxuICAgIHB1cmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZEhpZXJhcmNoaWNhbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZ3JpZEFQSTogR3JpZEJhc2VBUElTZXJ2aWNlPElneEhpZXJhcmNoaWNhbEdyaWRDb21wb25lbnQ+KSB7IH1cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgICAgIGNvbGxlY3Rpb246IGFueSxcbiAgICAgICAgc3RhdGUgPSBbXSxcbiAgICAgICAgaWQ6IHN0cmluZyxcbiAgICAgICAgcHJpbWFyeUtleTogYW55LFxuICAgICAgICBjaGlsZEtleXM6IHN0cmluZ1tdLFxuICAgICAgICBwaXBlVHJpZ2dlcjogbnVtYmVyXG4gICAgICAgICk6IGFueVtdIHtcbiAgICAgICAgaWYgKGNoaWxkS2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGdyaWQ6IElneEhpZXJhcmNoaWNhbEdyaWRDb21wb25lbnQgPSB0aGlzLmdyaWRBUEkuZ3JpZDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5hZGRIaWVyYXJjaHkoZ3JpZCwgY2xvbmVBcnJheShjb2xsZWN0aW9uKSwgc3RhdGUsIHByaW1hcnlLZXksIGNoaWxkS2V5cyk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkSGllcmFyY2h5PFQ+KGdyaWQsIGRhdGE6IFRbXSwgc3RhdGUsIHByaW1hcnlLZXksIGNoaWxkS2V5czogc3RyaW5nW10pOiBUW10ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcblxuICAgICAgICBkYXRhLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHYpO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRHcmlkc0RhdGEgPSB7fTtcbiAgICAgICAgICAgIGNoaWxkS2V5cy5mb3JFYWNoKChjaGlsZEtleSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkRGF0YSA9IHZbY2hpbGRLZXldID8gdltjaGlsZEtleV0gOiBudWxsO1xuICAgICAgICAgICAgICAgIGNoaWxkR3JpZHNEYXRhW2NoaWxkS2V5XSA9IGNoaWxkRGF0YTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGdyaWQuaXNFeHBhbmRlZCh2KSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHsgcm93SUQ6IHByaW1hcnlLZXkgPyB2W3ByaW1hcnlLZXldIDogdiwgY2hpbGRHcmlkc0RhdGE6IGNoaWxkR3JpZHNEYXRhfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cblxuLyoqXG4gKkBoaWRkZW5cbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdncmlkSGllcmFyY2hpY2FsUGFnaW5nJyxcbiAgICBwdXJlOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneEdyaWRIaWVyYXJjaGljYWxQYWdpbmdQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGdyaWRBUEk6IEdyaWRCYXNlQVBJU2VydmljZTxJZ3hIaWVyYXJjaGljYWxHcmlkQ29tcG9uZW50PikgeyB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKGNvbGxlY3Rpb246IGFueVtdLCBwYWdlID0gMCwgcGVyUGFnZSA9IDE1LCBpZDogc3RyaW5nLCBwaXBlVHJpZ2dlcjogbnVtYmVyKTogYW55W10ge1xuXG4gICAgICAgIGlmICghdGhpcy5ncmlkQVBJLmdyaWQucGFnaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgICAgICAgaW5kZXg6IHBhZ2UsXG4gICAgICAgICAgICByZWNvcmRzUGVyUGFnZTogcGVyUGFnZVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55W10gPSBEYXRhVXRpbC5wYWdlKGNsb25lQXJyYXkoY29sbGVjdGlvbiksIHN0YXRlKTtcbiAgICAgICAgdGhpcy5ncmlkQVBJLmdyaWQucGFnaW5nU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=