UNPKG

ngp-sort-pipe

Version:

Angular sort/orderby pipe, order one dimensional array or an array of objects

31 lines 3.09 kB
import { __decorate } from "tslib"; /* *ngFor="let c of oneDimArray | sortBy:'asc'" *ngFor="let c of arrayOfObjects | sortBy:'asc':'propertyName'" */ import { Pipe } from '@angular/core'; import { orderBy } from 'lodash'; let SortByPipe = class SortByPipe { transform(value, order = '', column = '') { if (!value || order === '' || !order) { return value; } // no array if (!column || column === '') { if (order === 'asc') { return value.sort(); } else { return value.sort().reverse(); } } // sort 1d array if (value.length <= 1) { return value; } // array with only one item return orderBy(value, [column], [order]); } }; SortByPipe = __decorate([ Pipe({ name: 'sortBy' }) ], SortByPipe); export { SortByPipe }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1ieS5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmdwLXNvcnQtcGlwZS8iLCJzb3VyY2VzIjpbImxpYi9zb3J0LWJ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7RUFHRTtBQUNGLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQVMsTUFBTSxRQUFRLENBQUM7QUFHeEMsSUFBYSxVQUFVLEdBQXZCLE1BQWEsVUFBVTtJQUVyQixTQUFTLENBQUMsS0FBWSxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsU0FBaUIsRUFBRTtRQUNyRCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztTQUFFLENBQUMsV0FBVztRQUNuRSxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDNUIsSUFBRyxLQUFLLEtBQUcsS0FBSyxFQUFDO2dCQUFDLE9BQU8sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO2FBQUM7aUJBQ2xDO2dCQUFDLE9BQU8sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQUM7U0FDckMsQ0FBQyxnQkFBZ0I7UUFDbEIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1NBQUUsQ0FBQywyQkFBMkI7UUFDcEUsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRixDQUFBO0FBWFksVUFBVTtJQUR0QixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7R0FDWixVQUFVLENBV3RCO1NBWFksVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKm5nRm9yPVwibGV0IGMgb2Ygb25lRGltQXJyYXkgfCBzb3J0Qnk6J2FzYydcIlxuICpuZ0Zvcj1cImxldCBjIG9mIGFycmF5T2ZPYmplY3RzIHwgc29ydEJ5Oidhc2MnOidwcm9wZXJ0eU5hbWUnXCJcbiovXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvcmRlckJ5LHNvcnRCeSB9IGZyb20gJ2xvZGFzaCc7XG5cbkBQaXBlKHsgbmFtZTogJ3NvcnRCeScgfSlcbmV4cG9ydCBjbGFzcyBTb3J0QnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnlbXSwgb3JkZXIgPSAnJywgY29sdW1uOiBzdHJpbmcgPSAnJyk6IGFueVtdIHtcbiAgICBpZiAoIXZhbHVlIHx8IG9yZGVyID09PSAnJyB8fCAhb3JkZXIpIHsgcmV0dXJuIHZhbHVlOyB9IC8vIG5vIGFycmF5XG4gICAgaWYgKCFjb2x1bW4gfHwgY29sdW1uID09PSAnJykgeyBcbiAgICAgIGlmKG9yZGVyPT09J2FzYycpe3JldHVybiB2YWx1ZS5zb3J0KCl9XG4gICAgICBlbHNle3JldHVybiB2YWx1ZS5zb3J0KCkucmV2ZXJzZSgpO31cbiAgICB9IC8vIHNvcnQgMWQgYXJyYXlcbiAgICBpZiAodmFsdWUubGVuZ3RoIDw9IDEpIHsgcmV0dXJuIHZhbHVlOyB9IC8vIGFycmF5IHdpdGggb25seSBvbmUgaXRlbVxuICAgIHJldHVybiBvcmRlckJ5KHZhbHVlLCBbY29sdW1uXSwgW29yZGVyXSk7XG4gIH1cbn0iXX0=