ngx-easy-table
Version:
Angular easy table
53 lines • 3.46 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import { from } from 'rxjs';
import { flatMap, groupBy, reduce } from 'rxjs/operators';
var GroupRowsService = /** @class */ (function () {
function GroupRowsService() {
}
/**
* @template T
* @param {?} data
* @param {?} groupRowsBy
* @return {?}
*/
GroupRowsService.doGroupRows = /**
* @template T
* @param {?} data
* @param {?} groupRowsBy
* @return {?}
*/
function (data, groupRowsBy) {
/** @type {?} */
var grouped = [];
from(data).pipe(groupBy((/**
* @param {?} row
* @return {?}
*/
function (row) { return row[groupRowsBy]; })), flatMap((/**
* @param {?} group
* @return {?}
*/
function (group) { return group.pipe(reduce((/**
* @param {?} acc
* @param {?} curr
* @return {?}
*/
function (acc, curr) { return tslib_1.__spread(acc, [curr]); }), [])); }))).subscribe((/**
* @param {?} row
* @return {?}
*/
function (row) { return grouped.push(row); }));
return grouped;
};
GroupRowsService.decorators = [
{ type: Injectable }
];
return GroupRowsService;
}());
export { GroupRowsService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtcm93cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWVhc3ktdGFibGUvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZ3JvdXAtcm93cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFEO0lBQUE7SUFhQSxDQUFDOzs7Ozs7O0lBWGUsNEJBQVc7Ozs7OztJQUF6QixVQUE2QixJQUFTLEVBQUUsV0FBbUI7O1lBQ25ELE9BQU8sR0FBVSxFQUFFO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ2IsT0FBTzs7OztRQUFDLFVBQUMsR0FBRyxJQUFLLE9BQUEsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFoQixDQUFnQixFQUFDLEVBQ2xDLE9BQU87Ozs7UUFBQyxVQUFDLEtBQUssSUFBSyxPQUFBLEtBQUssQ0FBQyxJQUFJLENBQzNCLE1BQU07Ozs7O1FBQUMsVUFBQyxHQUFRLEVBQUUsSUFBTyxJQUFLLHdCQUFJLEdBQUcsR0FBRSxJQUFJLElBQWIsQ0FBYyxHQUFFLEVBQUUsQ0FBQyxDQUNsRCxFQUZrQixDQUVsQixFQUFDLENBQ0gsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQyxHQUFHLElBQUssT0FBQSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFqQixDQUFpQixFQUFDLENBQUM7UUFFeEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs7Z0JBWkYsVUFBVTs7SUFhWCx1QkFBQztDQUFBLEFBYkQsSUFhQztTQVpZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZsYXRNYXAsIGdyb3VwQnksIHJlZHVjZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEdyb3VwUm93c1NlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIGRvR3JvdXBSb3dzPFQ+KGRhdGE6IFRbXSwgZ3JvdXBSb3dzQnk6IHN0cmluZyk6IGFueVtdIHtcbiAgICBjb25zdCBncm91cGVkOiBhbnlbXSA9IFtdO1xuICAgIGZyb20oZGF0YSkucGlwZShcbiAgICAgIGdyb3VwQnkoKHJvdykgPT4gcm93W2dyb3VwUm93c0J5XSksXG4gICAgICBmbGF0TWFwKChncm91cCkgPT4gZ3JvdXAucGlwZShcbiAgICAgICAgcmVkdWNlKChhY2M6IFRbXSwgY3VycjogVCkgPT4gWy4uLmFjYywgY3Vycl0sIFtdKSxcbiAgICAgICkpLFxuICAgICkuc3Vic2NyaWJlKChyb3cpID0+IGdyb3VwZWQucHVzaChyb3cpKTtcblxuICAgIHJldHVybiBncm91cGVkO1xuICB9XG59XG4iXX0=