UNPKG

@paddls/ngx-easy-table

Version:
17 lines 2.9 kB
import { Injectable } from '@angular/core'; import { from } from 'rxjs'; import { groupBy, mergeMap, reduce } from 'rxjs/operators'; import * as i0 from "@angular/core"; export class GroupRowsService { static doGroupRows(data, groupRowsBy) { const grouped = []; from(data).pipe(groupBy((row) => row[groupRowsBy]), mergeMap((group) => group.pipe(reduce((acc, curr) => [...acc, curr], [])))).subscribe((row) => grouped.push(row)); return grouped; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: GroupRowsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: GroupRowsService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: GroupRowsService, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtcm93cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVhc3ktdGFibGUvc3JjL2xpYi9zZXJ2aWNlcy9ncm91cC1yb3dzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUczRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXBCLE1BQU0sQ0FBQyxXQUFXLENBQUksSUFBUyxFQUFFLFdBQW1CO1FBQ3pELE1BQU0sT0FBTyxHQUFVLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNiLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ2xDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsSUFBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDbkYsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV4QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzhHQVhVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ3JvdXBCeSwgbWVyZ2VNYXAsIHJlZHVjZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEdyb3VwUm93c1NlcnZpY2Uge1xuXG4gIHB1YmxpYyBzdGF0aWMgZG9Hcm91cFJvd3M8VD4oZGF0YTogVFtdLCBncm91cFJvd3NCeTogc3RyaW5nKTogYW55W10ge1xuICAgIGNvbnN0IGdyb3VwZWQ6IGFueVtdID0gW107XG5cbiAgICBmcm9tKGRhdGEpLnBpcGUoXG4gICAgICBncm91cEJ5KChyb3cpID0+IHJvd1tncm91cFJvd3NCeV0pLFxuICAgICAgbWVyZ2VNYXAoKGdyb3VwKSA9PiBncm91cC5waXBlKHJlZHVjZSgoYWNjOiBUW10sIGN1cnI6IFQpID0+IFsuLi5hY2MsIGN1cnJdLCBbXSkpKVxuICAgICkuc3Vic2NyaWJlKChyb3cpID0+IGdyb3VwZWQucHVzaChyb3cpKTtcblxuICAgIHJldHVybiBncm91cGVkO1xuICB9XG59XG4iXX0=