diff options
Diffstat (limited to 'vid-webpack-master/src/app/shared/pipes/order/orderBy.pipe.ts')
-rw-r--r-- | vid-webpack-master/src/app/shared/pipes/order/orderBy.pipe.ts | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/pipes/order/orderBy.pipe.ts b/vid-webpack-master/src/app/shared/pipes/order/orderBy.pipe.ts new file mode 100644 index 000000000..a3b82329b --- /dev/null +++ b/vid-webpack-master/src/app/shared/pipes/order/orderBy.pipe.ts @@ -0,0 +1,35 @@ +import { Pipe, PipeTransform } from '@angular/core'; +import * as _ from 'lodash'; +@Pipe({ name: 'orderBy' }) +export class OrderByPipe implements PipeTransform { + + transform(records: any[], args: any = {}): any { + args.direction = !_.isNil(args.direction) ? args.direction : 1; + + if(!_.isNil(records)){ + return records.sort(function(a, b){ + if(args.property){ + if(a[args.property] < b[args.property]){ + return -1 * args.direction; + } + else if( a[args.property] > b[args.property]){ + return 1 * args.direction; + } + else{ + return 0; + } + }else { + if(a < b){ + return -1 * args.direction; + } + else if( a > b){ + return 1 * args.direction; + } + else{ + return 0; + } + } + }); + } + }; +} |