Skip to content

Instantly share code, notes, and snippets.

@chinhvo
Forked from mdmoin7/sort-by.pipe.ts
Created April 12, 2020 11:32
Show Gist options
  • Save chinhvo/b3f5c328acf6001ef994d940c6407294 to your computer and use it in GitHub Desktop.
Save chinhvo/b3f5c328acf6001ef994d940c6407294 to your computer and use it in GitHub Desktop.
/*
*ngFor="let c of oneDimArray | sortBy:'asc'"
*ngFor="let c of arrayOfObjects | sortBy:'asc':'propertyName'"
*/
import { Pipe, PipeTransform } from '@angular/core';
import { orderBy } from 'lodash';
@Pipe({ name: 'sortBy' })
export class SortByPipe implements PipeTransform {
transform(value: any[], order = '', column: string = ''): any[] {
if (!value || order === '' || !order) { return value; } // no array
if (value.length <= 1) { return value; } // array with only one item
if (!column || column === '') {
if(order==='asc'){return value.sort()}
else{return value.sort().reverse();}
} // sort 1d array
return orderBy(value, [column], [order]);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment