@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
JavaScript
/**
* @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