UNPKG

ngx-easy-table

Version:
47 lines 4.08 kB
/** * @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=