kwikid-agent-dashboard
Version:
KwikID's EKYC Agent Map View Module.
62 lines • 6.87 kB
JavaScript
import { Pipe, Injectable } from "@angular/core";
import * as i0 from "@angular/core";
export class Ng2SearchPipe {
/**
* @param items object from array
* @param term term's search
* @param excludes array of strings which will ignored during search
*/
transform(items, term, excludes = []) {
if (!term || !items)
return items;
return Ng2SearchPipe.filter(items, term, excludes);
}
/**
*
* @param items List of items to filter
* @param term a string term to compare with every property of the list
* @param excludes List of keys which will be ignored during search
*
*/
static filter(items, term, excludes) {
const toCompare = term.toLowerCase();
function checkInside(item, term) {
if (typeof item === "string" &&
item.toString().toLowerCase().includes(toCompare)) {
return true;
}
for (const property in item) {
if (item[property] === null ||
item[property] == undefined ||
excludes.includes(property)) {
continue;
}
if (typeof item[property] === "object") {
if (checkInside(item[property], term)) {
return true;
}
}
else if (item[property].toString().toLowerCase().includes(toCompare)) {
return true;
}
}
return false;
}
return items.filter((item) => {
return checkInside(item, term);
});
}
}
/** @nocollapse */ Ng2SearchPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Ng2SearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
/** @nocollapse */ Ng2SearchPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Ng2SearchPipe, name: "filter", pure: false });
/** @nocollapse */ Ng2SearchPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Ng2SearchPipe });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Ng2SearchPipe, decorators: [{
type: Pipe,
args: [{
name: "filter",
pure: false
}]
}, {
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL3YyL3BpcGVzL3NlYXJjaC1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT2hFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsS0FBVSxFQUFFLElBQVksRUFBRSxXQUFnQixFQUFFO1FBQ3BELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFbEMsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQ1gsS0FBb0MsRUFDcEMsSUFBWSxFQUNaLFFBQWE7UUFFYixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFckMsU0FBUyxXQUFXLENBQUMsSUFBUyxFQUFFLElBQVk7WUFDMUMsSUFDRSxPQUFPLElBQUksS0FBSyxRQUFRO2dCQUN4QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUNqRDtnQkFDQSxPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLEVBQUU7Z0JBQzNCLElBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUk7b0JBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTO29CQUMzQixRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUMzQjtvQkFDQSxTQUFTO2lCQUNWO2dCQUNELElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssUUFBUSxFQUFFO29CQUN0QyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUU7d0JBQ3JDLE9BQU8sSUFBSSxDQUFDO3FCQUNiO2lCQUNGO3FCQUFNLElBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDM0Q7b0JBQ0EsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNCLE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhIQTFEVSxhQUFhOzRIQUFiLGFBQWE7a0lBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUx6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSxLQUFLO2lCQUNaOztrQkFDQSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBQaXBlKHtcbiAgbmFtZTogXCJmaWx0ZXJcIixcbiAgcHVyZTogZmFsc2Vcbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmcyU2VhcmNoUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAvKipcbiAgICogQHBhcmFtIGl0ZW1zIG9iamVjdCBmcm9tIGFycmF5XG4gICAqIEBwYXJhbSB0ZXJtIHRlcm0ncyBzZWFyY2hcbiAgICogQHBhcmFtIGV4Y2x1ZGVzIGFycmF5IG9mIHN0cmluZ3Mgd2hpY2ggd2lsbCBpZ25vcmVkIGR1cmluZyBzZWFyY2hcbiAgICovXG4gIHRyYW5zZm9ybShpdGVtczogYW55LCB0ZXJtOiBzdHJpbmcsIGV4Y2x1ZGVzOiBhbnkgPSBbXSk6IGFueSB7XG4gICAgaWYgKCF0ZXJtIHx8ICFpdGVtcykgcmV0dXJuIGl0ZW1zO1xuXG4gICAgcmV0dXJuIE5nMlNlYXJjaFBpcGUuZmlsdGVyKGl0ZW1zLCB0ZXJtLCBleGNsdWRlcyk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGl0ZW1zIExpc3Qgb2YgaXRlbXMgdG8gZmlsdGVyXG4gICAqIEBwYXJhbSB0ZXJtICBhIHN0cmluZyB0ZXJtIHRvIGNvbXBhcmUgd2l0aCBldmVyeSBwcm9wZXJ0eSBvZiB0aGUgbGlzdFxuICAgKiBAcGFyYW0gZXhjbHVkZXMgTGlzdCBvZiBrZXlzIHdoaWNoIHdpbGwgYmUgaWdub3JlZCBkdXJpbmcgc2VhcmNoXG4gICAqXG4gICAqL1xuICBzdGF0aWMgZmlsdGVyKFxuICAgIGl0ZW1zOiBBcnJheTx7IFtrZXk6IHN0cmluZ106IGFueSB9PixcbiAgICB0ZXJtOiBzdHJpbmcsXG4gICAgZXhjbHVkZXM6IGFueVxuICApOiBBcnJheTx7IFtrZXk6IHN0cmluZ106IGFueSB9PiB7XG4gICAgY29uc3QgdG9Db21wYXJlID0gdGVybS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgZnVuY3Rpb24gY2hlY2tJbnNpZGUoaXRlbTogYW55LCB0ZXJtOiBzdHJpbmcpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIGl0ZW0gPT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgaXRlbS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModG9Db21wYXJlKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGl0ZW0pIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGl0ZW1bcHJvcGVydHldID09PSBudWxsIHx8XG4gICAgICAgICAgaXRlbVtwcm9wZXJ0eV0gPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgZXhjbHVkZXMuaW5jbHVkZXMocHJvcGVydHkpXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgaXRlbVtwcm9wZXJ0eV0gPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICBpZiAoY2hlY2tJbnNpZGUoaXRlbVtwcm9wZXJ0eV0sIHRlcm0pKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgaXRlbVtwcm9wZXJ0eV0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRvQ29tcGFyZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICByZXR1cm4gY2hlY2tJbnNpZGUoaXRlbSwgdGVybSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==