UNPKG

xenos

Version:

Xenos is a data grid built upon angular2 and bootstrap.

31 lines (24 loc) 956 B
import { FilterDescriptor } from "./filter-descriptor"; import { DataGridColumn } from "./data-grid-column"; export class FtsFilterDescriptor extends FilterDescriptor { public static id: string = "__fts"; constructor(columns: DataGridColumn[], phrase: string) { super(FtsFilterDescriptor.id, x => { var regex = new RegExp(`${phrase}`, "i"); for (let i = 0; i < columns.length; i++) { let column = columns[i]; let value = column.valueAccessor(x); if (typeof value === "string" && regex.test(value)) { return true; } if (this.isNumber(value) && regex.test(value.toString())) { return true; } } return false; }); } private isNumber(n): boolean { return !isNaN(parseFloat(n)) && isFinite(n); } }