ngx-easy-table
Version:
Angular easy table
47 lines • 4.08 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Pipe } from '@angular/core';
export class GlobalSearchPipe {
/**
* @param {?} array
* @param {?} filter
* @param {?} filteredCountSubject
* @return {?}
*/
transform(array, filter, filteredCountSubject) {
filteredCountSubject.next(0);
if (typeof array === 'undefined') {
return;
}
if (typeof filter === 'undefined' || Object.keys(filter).length === 0 || filter === '') {
filteredCountSubject.next(array.length);
return array;
}
/** @type {?} */
const arr = array.filter((/**
* @param {?} row
* @return {?}
*/
(row) => {
/** @type {?} */
const element = JSON.stringify(Object.values(row));
/** @type {?} */
const strings = filter.split(',');
return strings.some((/**
* @param {?} string
* @return {?}
*/
(string) => element.toLocaleLowerCase().indexOf(string.trim().toLocaleLowerCase()) > -1));
}));
filteredCountSubject.next(arr.length);
return arr;
}
}
GlobalSearchPipe.decorators = [
{ type: Pipe, args: [{
name: 'global',
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXNlYXJjaC1waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWVhc3ktdGFibGUvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvZ2xvYmFsLXNlYXJjaC1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU9wRCxNQUFNLE9BQU8sZ0JBQWdCOzs7Ozs7O0lBQzNCLFNBQVMsQ0FBQyxLQUFZLEVBQUUsTUFBYyxFQUFFLG9CQUFxQztRQUMzRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLEVBQUU7WUFDaEMsT0FBTztTQUNSO1FBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDdEYsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QyxPQUFPLEtBQUssQ0FBQztTQUNkOztjQUNLLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTTs7OztRQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7O2tCQUN6QixPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDOztrQkFDNUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQ2pDLE9BQU8sT0FBTyxDQUFDLElBQUk7Ozs7WUFBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQztRQUMvRyxDQUFDLEVBQUM7UUFDRixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7O1lBdEJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsUUFBUTthQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdnbG9iYWwnLFxufSlcblxuZXhwb3J0IGNsYXNzIEdsb2JhbFNlYXJjaFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGFycmF5OiBhbnlbXSwgZmlsdGVyOiBzdHJpbmcsIGZpbHRlcmVkQ291bnRTdWJqZWN0OiBTdWJqZWN0PG51bWJlcj4pOiBhbnkge1xuICAgIGZpbHRlcmVkQ291bnRTdWJqZWN0Lm5leHQoMCk7XG4gICAgaWYgKHR5cGVvZiBhcnJheSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBmaWx0ZXIgPT09ICd1bmRlZmluZWQnIHx8IE9iamVjdC5rZXlzKGZpbHRlcikubGVuZ3RoID09PSAwIHx8IGZpbHRlciA9PT0gJycpIHtcbiAgICAgIGZpbHRlcmVkQ291bnRTdWJqZWN0Lm5leHQoYXJyYXkubGVuZ3RoKTtcbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG4gICAgY29uc3QgYXJyID0gYXJyYXkuZmlsdGVyKChyb3cpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBKU09OLnN0cmluZ2lmeShPYmplY3QudmFsdWVzKHJvdykpO1xuICAgICAgY29uc3Qgc3RyaW5ncyA9IGZpbHRlci5zcGxpdCgnLCcpO1xuICAgICAgcmV0dXJuIHN0cmluZ3Muc29tZSgoc3RyaW5nKSA9PiBlbGVtZW50LnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZihzdHJpbmcudHJpbSgpLnRvTG9jYWxlTG93ZXJDYXNlKCkpID4gLTEpO1xuICAgIH0pO1xuICAgIGZpbHRlcmVkQ291bnRTdWJqZWN0Lm5leHQoYXJyLmxlbmd0aCk7XG5cbiAgICByZXR1cm4gYXJyO1xuICB9XG59XG4iXX0=