UNPKG

ng2-gantt

Version:
25 lines (24 loc) 688 B
import { Pipe, PipeTransform } from '@angular/core'; /* * Group the array by given function * Takes an array argument that defaults to 1. * Usage: * array | groupBy:func() * Example: * {{ [ { id: '1'}] | groupBy: }} * formats to: [] */ @Pipe({name: 'groupBy'}) export class GroupByPipe implements PipeTransform { transform(array: any[], f: any): any[] { var groups = {}; array.forEach((o:any) => { var group = JSON.stringify(f(o)); groups[group] = groups[group] || []; groups[group].push(o); }); return Object.keys(groups).map((group:any) => { return groups[group]; }); } }