UNPKG

ngx-easy-table

Version:
112 lines 8.31 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Pipe } from '@angular/core'; import { FiltersService } from '../services/filters.service'; var SearchPipe = /** @class */ (function () { function SearchPipe() { this.filters = {}; } /** * @param {?} array * @param {?} filter * @param {?} filteredCountSubject * @param {?=} config * @return {?} */ SearchPipe.prototype.transform = /** * @param {?} array * @param {?} filter * @param {?} filteredCountSubject * @param {?=} config * @return {?} */ function (array, filter, filteredCountSubject, config) { var _this = this; filteredCountSubject.next(0); if (typeof array === 'undefined') { return; } if (typeof filter === 'undefined') { filteredCountSubject.next(array.length); return array; } filter.forEach((/** * @param {?} f * @return {?} */ function (f) { _this.filters[f.key] = f.value.toString().toLocaleLowerCase(); if (Object.keys(f).length === 0 || f.value === '') { delete _this.filters[f.key]; } })); if (config && config.groupRows) { return array.map((/** * @param {?} arr * @return {?} */ function (arr) { return _this.filterGroup(arr, filteredCountSubject); })); } return this.filterGroup(array, filteredCountSubject); }; /** * @private * @param {?} array * @param {?} filteredCountSubject * @return {?} */ SearchPipe.prototype.filterGroup = /** * @private * @param {?} array * @param {?} filteredCountSubject * @return {?} */ function (array, filteredCountSubject) { var _this = this; /** @type {?} */ var arr = array.filter((/** * @param {?} obj * @return {?} */ function (obj) { return Object.keys(_this.filters).every((/** * @param {?} c * @return {?} */ function (c) { /** @type {?} */ var split = c.split('.'); /** @type {?} */ var val = FiltersService.getPath(split, obj); /** @type {?} */ var element = (typeof val === 'object') ? JSON.stringify(val) : val.toString().toLocaleLowerCase(); /** @type {?} */ var strings = _this.filters[c].split(','); return strings.some((/** * @param {?} string * @return {?} */ function (string) { return element.indexOf(string.trim()) > -1; })); })); })); filteredCountSubject.next(arr.length); return arr; }; SearchPipe.decorators = [ { type: Pipe, args: [{ name: 'search', },] } ]; return SearchPipe; }()); export { SearchPipe }; if (false) { /** * @type {?} * @private */ SearchPipe.prototype.filters; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZWFzeS10YWJsZS8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9zZWFyY2gtcGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSTdEO0lBQUE7UUFLVSxZQUFPLEdBQThCLEVBQUUsQ0FBQztJQW9DbEQsQ0FBQzs7Ozs7Ozs7SUFsQ0MsOEJBQVM7Ozs7Ozs7SUFBVCxVQUFVLEtBQVksRUFBRSxNQUE2QyxFQUFFLG9CQUFxQyxFQUFFLE1BQWU7UUFBN0gsaUJBbUJDO1FBbEJDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsRUFBRTtZQUNoQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUNqQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxNQUFNLENBQUMsT0FBTzs7OztRQUFDLFVBQUMsQ0FBQztZQUNmLEtBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM3RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRTtnQkFDakQsT0FBTyxLQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QjtRQUNILENBQUMsRUFBQyxDQUFDO1FBQ0gsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUM5QixPQUFPLEtBQUssQ0FBQyxHQUFHOzs7O1lBQUMsVUFBQyxHQUFHLElBQUssT0FBQSxLQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxFQUEzQyxDQUEyQyxFQUFDLENBQUM7U0FDeEU7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDdkQsQ0FBQzs7Ozs7OztJQUVPLGdDQUFXOzs7Ozs7SUFBbkIsVUFBb0IsS0FBWSxFQUFFLG9CQUFxQztRQUF2RSxpQkFZQzs7WUFYTyxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU07Ozs7UUFBQyxVQUFDLEdBQUc7WUFDM0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLOzs7O1lBQUMsVUFBQyxDQUFDOztvQkFDakMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDOztvQkFDcEIsR0FBRyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQzs7b0JBQ3hDLE9BQU8sR0FBRyxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsaUJBQWlCLEVBQUU7O29CQUM5RixPQUFPLEdBQUcsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO2dCQUMxQyxPQUFPLE9BQU8sQ0FBQyxJQUFJOzs7O2dCQUFDLFVBQUMsTUFBTSxJQUFLLE9BQUEsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBbkMsQ0FBbUMsRUFBQyxDQUFDO1lBQ3ZFLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDO1FBQ0Ysb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7O2dCQXhDRixJQUFJLFNBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7aUJBQ2Y7O0lBdUNELGlCQUFDO0NBQUEsQUF6Q0QsSUF5Q0M7U0FyQ1ksVUFBVTs7Ozs7O0lBQ3JCLDZCQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpbHRlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmlsdGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4uJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnc2VhcmNoJyxcbn0pXG5cbmV4cG9ydCBjbGFzcyBTZWFyY2hQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgZmlsdGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuXG4gIHRyYW5zZm9ybShhcnJheTogYW55W10sIGZpbHRlcjogQXJyYXk8eyB2YWx1ZTogc3RyaW5nLCBrZXk6IHN0cmluZyB9PiwgZmlsdGVyZWRDb3VudFN1YmplY3Q6IFN1YmplY3Q8bnVtYmVyPiwgY29uZmlnPzogQ29uZmlnKTogYW55IHtcbiAgICBmaWx0ZXJlZENvdW50U3ViamVjdC5uZXh0KDApO1xuICAgIGlmICh0eXBlb2YgYXJyYXkgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZmlsdGVyID09PSAndW5kZWZpbmVkJykge1xuICAgICAgZmlsdGVyZWRDb3VudFN1YmplY3QubmV4dChhcnJheS5sZW5ndGgpO1xuICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cbiAgICBmaWx0ZXIuZm9yRWFjaCgoZikgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJzW2Yua2V5XSA9IGYudmFsdWUudG9TdHJpbmcoKS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgaWYgKE9iamVjdC5rZXlzKGYpLmxlbmd0aCA9PT0gMCB8fCBmLnZhbHVlID09PSAnJykge1xuICAgICAgICBkZWxldGUgdGhpcy5maWx0ZXJzW2Yua2V5XTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoY29uZmlnICYmIGNvbmZpZy5ncm91cFJvd3MpIHtcbiAgICAgIHJldHVybiBhcnJheS5tYXAoKGFycikgPT4gdGhpcy5maWx0ZXJHcm91cChhcnIsIGZpbHRlcmVkQ291bnRTdWJqZWN0KSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZpbHRlckdyb3VwKGFycmF5LCBmaWx0ZXJlZENvdW50U3ViamVjdCk7XG4gIH1cblxuICBwcml2YXRlIGZpbHRlckdyb3VwKGFycmF5OiBhbnlbXSwgZmlsdGVyZWRDb3VudFN1YmplY3Q6IFN1YmplY3Q8bnVtYmVyPik6IGFueVtdIHtcbiAgICBjb25zdCBhcnIgPSBhcnJheS5maWx0ZXIoKG9iaikgPT4ge1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuZmlsdGVycykuZXZlcnkoKGMpID0+IHtcbiAgICAgICAgY29uc3Qgc3BsaXQgPSBjLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IHZhbCA9IEZpbHRlcnNTZXJ2aWNlLmdldFBhdGgoc3BsaXQsIG9iaik7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSAodHlwZW9mIHZhbCA9PT0gJ29iamVjdCcpID8gSlNPTi5zdHJpbmdpZnkodmFsKSA6IHZhbC50b1N0cmluZygpLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IHN0cmluZ3MgPSB0aGlzLmZpbHRlcnNbY10uc3BsaXQoJywnKTtcbiAgICAgICAgcmV0dXJuIHN0cmluZ3Muc29tZSgoc3RyaW5nKSA9PiBlbGVtZW50LmluZGV4T2Yoc3RyaW5nLnRyaW0oKSkgPiAtMSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBmaWx0ZXJlZENvdW50U3ViamVjdC5uZXh0KGFyci5sZW5ndGgpO1xuICAgIHJldHVybiBhcnI7XG4gIH1cbn1cbiJdfQ==