@hxui/angular
Version:
* * *
73 lines • 5.85 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
/**
* Example use
* Array of objects: *ngFor="#row of rows | simpleSearch : 'the search term'"
*/
import { Pipe } from '@angular/core';
/**
* @record
*/
export function ISimpleSearchPipe() { }
if (false) {
/**
* @param {?} item
* @param {?} searchTerm
* @return {?}
*/
ISimpleSearchPipe.prototype.searchValue = function (item, searchTerm) { };
}
var SimpleSearchPipe = /** @class */ (function () {
function SimpleSearchPipe() {
this.searchValue = function (item, searchTerm) {
if (searchTerm === void 0) { searchTerm = ''; }
/** @type {?} */
var keys = Object.keys(item);
for (var i = 0, len = keys.length; i < len; i++) {
/** @type {?} */
var match = false;
/** @type {?} */
var propertyValue = item[keys[i]];
if (propertyValue)
match = (propertyValue.toString().toLowerCase().indexOf(searchTerm.toLowerCase()) > -1);
if (match || searchTerm == '')
return true;
}
return false;
};
}
/**
* @param {?} items
* @param {?} args
* @return {?}
*/
SimpleSearchPipe.prototype.transform = /**
* @param {?} items
* @param {?} args
* @return {?}
*/
function (items, args) {
var _this = this;
if (!Array.isArray(items))
return items;
// filter items array, items which match and return true will be kept, false will be filtered out
return items.filter(function (item) { return (args) ? _this.searchValue(item, args.toString()) : item; });
};
SimpleSearchPipe.decorators = [
{ type: Pipe, args: [{
name: 'simpleSearch',
pure: false
},] },
];
/** @nocollapse */
SimpleSearchPipe.ctorParameters = function () { return []; };
return SimpleSearchPipe;
}());
export { SimpleSearchPipe };
if (false) {
/** @type {?} */
SimpleSearchPipe.prototype.searchValue;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXNlYXJjaC5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGh4dWkvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9waXBlcy9zaW1wbGUtc2VhcmNoLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7OztBQUVsRCx1Q0FFQzs7Ozs7OztJQURHLDBFQUFvRDs7QUFHeEQ7SUFPSTtRQUVPLGdCQUFXLEdBQUcsVUFBQyxJQUFTLEVBQUUsVUFBdUI7WUFBdkIsMkJBQUEsRUFBQSxlQUF1Qjs7Z0JBRTlDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM5QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUMvQzs7b0JBQ1EsS0FBSyxHQUFHLEtBQUs7O29CQUNiLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUVqQyxJQUFJLGFBQWE7b0JBQ2IsS0FBSyxHQUFHLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUU1RixJQUFJLEtBQUssSUFBSSxVQUFVLElBQUksRUFBRTtvQkFDekIsT0FBTyxJQUFJLENBQUM7YUFDbkI7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUE7SUFsQmEsQ0FBQzs7Ozs7O0lBb0JmLG9DQUFTOzs7OztJQUFULFVBQVUsS0FBWSxFQUFFLElBQVc7UUFBbkMsaUJBTUM7UUFKRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUV4QyxpR0FBaUc7UUFDakcsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBdkQsQ0FBdUQsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7O2dCQWpDSixJQUFJLFNBQUM7b0JBQ0YsSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLElBQUksRUFBRSxLQUFLO2lCQUNkOzs7O0lBK0JELHVCQUFDO0NBQUEsQUFsQ0QsSUFrQ0M7U0E3QlksZ0JBQWdCOzs7SUFJekIsdUNBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEV4YW1wbGUgdXNlXHJcbiAqIEFycmF5IG9mIG9iamVjdHM6ICpuZ0Zvcj1cIiNyb3cgb2Ygcm93cyB8IHNpbXBsZVNlYXJjaCA6ICd0aGUgc2VhcmNoIHRlcm0nXCJcclxuICovXHJcblxyXG5pbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU2ltcGxlU2VhcmNoUGlwZSBleHRlbmRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgc2VhcmNoVmFsdWUoaXRlbTogYW55LCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBib29sZWFuO1xyXG59XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAnc2ltcGxlU2VhcmNoJyxcclxuICAgIHB1cmU6IGZhbHNlXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU2ltcGxlU2VhcmNoUGlwZSBpbXBsZW1lbnRzIElTaW1wbGVTZWFyY2hQaXBle1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCl7fVxyXG5cclxuICAgIHB1YmxpYyBzZWFyY2hWYWx1ZSA9IChpdGVtOiBhbnksIHNlYXJjaFRlcm06IHN0cmluZyA9ICcnKTogYm9vbGVhbiA9PlxyXG4gICAge1xyXG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhpdGVtKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0ga2V5cy5sZW5ndGg7IGkgPCBsZW47IGkrKylcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGxldCBtYXRjaCA9IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgcHJvcGVydHlWYWx1ZSA9IGl0ZW1ba2V5c1tpXV07XHJcblxyXG4gICAgICAgICAgICBpZiAocHJvcGVydHlWYWx1ZSlcclxuICAgICAgICAgICAgICAgIG1hdGNoID0gKHByb3BlcnR5VmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSA+IC0xKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChtYXRjaCB8fCBzZWFyY2hUZXJtID09ICcnKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhbnNmb3JtKGl0ZW1zOiBhbnlbXSwgYXJnczogYW55W10pOiBhbnlcclxuICAgIHtcclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoaXRlbXMpKSByZXR1cm4gaXRlbXM7XHJcblxyXG4gICAgICAgIC8vIGZpbHRlciBpdGVtcyBhcnJheSwgaXRlbXMgd2hpY2ggbWF0Y2ggYW5kIHJldHVybiB0cnVlIHdpbGwgYmUga2VwdCwgZmFsc2Ugd2lsbCBiZSBmaWx0ZXJlZCBvdXRcclxuICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKGl0ZW0gPT4gKGFyZ3MpID8gdGhpcy5zZWFyY2hWYWx1ZShpdGVtLCBhcmdzLnRvU3RyaW5nKCkpIDogaXRlbSk7XHJcbiAgICB9XHJcbn1cclxuIl19