@vicoders/angular
Version:
- [Vicoders Angular Common Module](#vicoders-angular-common-module) - [Install](#install) - [How to use](#how-to-use) - [Pipes](#pipes) - [hasItem](#hasitem) - [isArray](#isarray) - [length](#length) - [orderBy](#orderby)
36 lines • 2.93 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Pipe } from '@angular/core';
import * as _ from 'lodash';
export class OrderByPipe {
/**
* @param {?} value
* @param {...?} criterias
* @return {?}
*/
transform(value, ...criterias) {
/** @type {?} */
let fields = [];
/** @type {?} */
let directions = [];
_.forEach(criterias, item => {
fields.push(item[0]);
directions.push(item[1]);
});
if (_.filter(directions, item => !_.isNil(item)).length > 0) {
value = _.orderBy.apply(null, [value, fields, directions]);
}
else {
return value;
}
return value;
}
}
OrderByPipe.decorators = [
{ type: Pipe, args: [{
name: 'orderBy'
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItYnkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B2aWNvZGVycy9hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL3BpcGVzL29yZGVyLWJ5L29yZGVyLWJ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBSTVCLE1BQU07Ozs7OztJQUNKLFNBQVMsQ0FBQyxLQUFZLEVBQUUsR0FBRyxTQUFnQjs7WUFDckMsTUFBTSxHQUFHLEVBQUU7O1lBQ1gsVUFBVSxHQUFHLEVBQUU7UUFDbkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDM0QsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUM1RDthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7O1lBakJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsU0FBUzthQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbkBQaXBlKHtcbiAgbmFtZTogJ29yZGVyQnknXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyQnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55W10sIC4uLmNyaXRlcmlhczogYW55W10pOiBhbnlbXSB7XG4gICAgbGV0IGZpZWxkcyA9IFtdO1xuICAgIGxldCBkaXJlY3Rpb25zID0gW107XG4gICAgXy5mb3JFYWNoKGNyaXRlcmlhcywgaXRlbSA9PiB7XG4gICAgICBmaWVsZHMucHVzaChpdGVtWzBdKTtcbiAgICAgIGRpcmVjdGlvbnMucHVzaChpdGVtWzFdKTtcbiAgICB9KTtcbiAgICBpZiAoXy5maWx0ZXIoZGlyZWN0aW9ucywgaXRlbSA9PiAhXy5pc05pbChpdGVtKSkubGVuZ3RoID4gMCkge1xuICAgICAgdmFsdWUgPSBfLm9yZGVyQnkuYXBwbHkobnVsbCwgW3ZhbHVlLCBmaWVsZHMsIGRpcmVjdGlvbnNdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cbiJdfQ==