cf-common-lib
Version:
Object Validators and Utilities
42 lines • 3.94 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Pipe } from "@angular/core";
export class OrderByPipe {
/**
* @param {?} array
* @param {?} orderField
* @param {?} orderType
* @return {?}
*/
transform(array, orderField, orderType) {
array.sort((/**
* @param {?} a
* @param {?} b
* @return {?}
*/
(a, b) => {
/** @type {?} */
let ae = a[orderField];
/** @type {?} */
let be = b[orderField];
if (ae == undefined && be == undefined)
return 0;
if (ae == undefined && be != undefined)
return orderType ? 1 : -1;
if (ae != undefined && be == undefined)
return orderType ? -1 : 1;
if (ae == be)
return 0;
return orderType ? (ae.toString().toLowerCase() > be.toString().toLowerCase() ? -1 : 1) : (be.toString().toLowerCase() > ae.toString().toLowerCase() ? -1 : 1);
}));
return array;
}
}
OrderByPipe.decorators = [
{ type: Pipe, args: [{
name: 'orderBy'
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItYnkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NmLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvb3JkZXItYnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFJcEQsTUFBTSxPQUFPLFdBQVc7Ozs7Ozs7SUFDeEIsU0FBUyxDQUFFLEtBQWlCLEVBQUUsVUFBa0IsRUFBRSxTQUFrQjtRQUNoRSxLQUFLLENBQUMsSUFBSTs7Ozs7UUFBRSxDQUFFLENBQU0sRUFBRSxDQUFNLEVBQUcsRUFBRTs7Z0JBQ3pCLEVBQUUsR0FBRyxDQUFDLENBQUUsVUFBVSxDQUFFOztnQkFDcEIsRUFBRSxHQUFHLENBQUMsQ0FBRSxVQUFVLENBQUU7WUFDeEIsSUFBSyxFQUFFLElBQUksU0FBUyxJQUFJLEVBQUUsSUFBSSxTQUFTO2dCQUFHLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELElBQUssRUFBRSxJQUFJLFNBQVMsSUFBSSxFQUFFLElBQUksU0FBUztnQkFBRyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRSxJQUFLLEVBQUUsSUFBSSxTQUFTLElBQUksRUFBRSxJQUFJLFNBQVM7Z0JBQUcsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEUsSUFBSyxFQUFFLElBQUksRUFBRTtnQkFBRyxPQUFPLENBQUMsQ0FBQztZQUN6QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25LLENBQUMsRUFBRSxDQUFDO1FBQ0osT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7WUFmRixJQUFJLFNBQUU7Z0JBQ1AsSUFBSSxFQUFFLFNBQVM7YUFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuQFBpcGUoIHtcbm5hbWU6ICdvcmRlckJ5J1xufSApXG5leHBvcnQgY2xhc3MgT3JkZXJCeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbnRyYW5zZm9ybSggYXJyYXk6IEFycmF5PGFueT4sIG9yZGVyRmllbGQ6IHN0cmluZywgb3JkZXJUeXBlOiBib29sZWFuICk6IEFycmF5PHN0cmluZz4ge1xuICAgIGFycmF5LnNvcnQoICggYTogYW55LCBiOiBhbnkgKSA9PiB7XG4gICAgICAgIGxldCBhZSA9IGFbIG9yZGVyRmllbGQgXTtcbiAgICAgICAgbGV0IGJlID0gYlsgb3JkZXJGaWVsZCBdO1xuICAgICAgICBpZiAoIGFlID09IHVuZGVmaW5lZCAmJiBiZSA9PSB1bmRlZmluZWQgKSByZXR1cm4gMDtcbiAgICAgICAgaWYgKCBhZSA9PSB1bmRlZmluZWQgJiYgYmUgIT0gdW5kZWZpbmVkICkgcmV0dXJuIG9yZGVyVHlwZSA/IDEgOiAtMTtcbiAgICAgICAgaWYgKCBhZSAhPSB1bmRlZmluZWQgJiYgYmUgPT0gdW5kZWZpbmVkICkgcmV0dXJuIG9yZGVyVHlwZSA/IC0xIDogMTtcbiAgICAgICAgaWYgKCBhZSA9PSBiZSApIHJldHVybiAwO1xuICAgICAgICByZXR1cm4gb3JkZXJUeXBlID8gKGFlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA+IGJlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA/IC0xIDogMSkgOiAoYmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID4gYWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID8gLTEgOiAxKTtcbiAgICB9ICk7XG4gICAgcmV0dXJuIGFycmF5O1xuICB9XG59Il19