UNPKG

@asi-ngtools/lib

Version:

This project is a little components library, simple to use, which will help you to simplify your project.

59 lines (58 loc) 4.26 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Pipe } from '@angular/core'; /** * Pipe permettant de filter une liste d'information * value : valeur de reference pour le filtre * filter : peut être une fonction de filtrage ou une propriete de l'objet */ var AsiFilterPipe = /** @class */ (function () { function AsiFilterPipe() { } /** * @param {?} items * @param {?} value * @param {?} filter * @return {?} */ AsiFilterPipe.prototype.transform = /** * @param {?} items * @param {?} value * @param {?} filter * @return {?} */ function (items, value, filter) { /** @type {?} */ var result = []; if (items != null) { if (this.isFunction(filter)) { result = items.filter(function (item) { return filter(item, value); }); } else if (value != null) { result = items.filter(function (item) { return item[value].indexOf(value) !== -1; }); } } return result; }; /** * @param {?} functionToCheck * @return {?} */ AsiFilterPipe.prototype.isFunction = /** * @param {?} functionToCheck * @return {?} */ function (functionToCheck) { /** @type {?} */ var getType = {}; return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; }; AsiFilterPipe.decorators = [ { type: Pipe, args: [{ name: 'asiFilter' },] } ]; return AsiFilterPipe; }()); export { AsiFilterPipe }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFzaS1uZ3Rvb2xzL2xpYi8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9hc2ktZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUFVbEQsaUNBQVM7Ozs7OztJQUFULFVBQVUsS0FBaUIsRUFBRSxLQUFVLEVBQUUsTUFBVzs7UUFDbEQsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFBLElBQUksSUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNoRTtZQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDekIsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFqQyxDQUFpQyxDQUFDLENBQUM7YUFDbEU7U0FDRjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUM7S0FDZjs7Ozs7SUFFRCxrQ0FBVTs7OztJQUFWLFVBQVcsZUFBeUI7O1FBQ2xDLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixNQUFNLENBQUMsZUFBZSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLG1CQUFtQixDQUFDO0tBQzFGOztnQkFsQkYsSUFBSSxTQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTs7d0JBUDNCOztTQVFhLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogUGlwZSBwZXJtZXR0YW50IGRlIGZpbHRlciB1bmUgbGlzdGUgZCdpbmZvcm1hdGlvblxyXG4gKiB2YWx1ZSA6IHZhbGV1ciBkZSByZWZlcmVuY2UgcG91ciBsZSBmaWx0cmVcclxuICogZmlsdGVyIDogcGV1dCDDqnRyZSB1bmUgZm9uY3Rpb24gZGUgZmlsdHJhZ2Ugb3UgdW5lIHByb3ByaWV0ZSBkZSBsJ29iamV0XHJcbiAqL1xyXG5AUGlwZSh7IG5hbWU6ICdhc2lGaWx0ZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBBc2lGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIHRyYW5zZm9ybShpdGVtczogQXJyYXk8YW55PiwgdmFsdWU6IGFueSwgZmlsdGVyOiBhbnkpIHtcclxuICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgIGlmIChpdGVtcyAhPSBudWxsKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzRnVuY3Rpb24oZmlsdGVyKSkge1xyXG4gICAgICAgIHJlc3VsdCA9IGl0ZW1zLmZpbHRlcihpdGVtID0+IHsgcmV0dXJuIGZpbHRlcihpdGVtLCB2YWx1ZSk7IH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHZhbHVlICE9IG51bGwpIHtcclxuICAgICAgICByZXN1bHQgPSBpdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtW3ZhbHVlXS5pbmRleE9mKHZhbHVlKSAhPT0gLTEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgaXNGdW5jdGlvbihmdW5jdGlvblRvQ2hlY2s6IEZ1bmN0aW9uKSB7XHJcbiAgICBsZXQgZ2V0VHlwZSA9IHt9O1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uVG9DaGVjayAmJiBnZXRUeXBlLnRvU3RyaW5nLmNhbGwoZnVuY3Rpb25Ub0NoZWNrKSA9PT0gJ1tvYmplY3QgRnVuY3Rpb25dJztcclxuICB9XHJcbn1cclxuIl19