in src/grid/agr-engine.ts [505:532]
protected filterByColumn(columnDef: ColumnDef, row: Row<T>): boolean {
if (!this.processRowByLevel(row, columnDef)) {
return false;
}
const values = this.getValueAsArray(row.data, columnDef);
let columnResult = false;
for (const value of values) {
if (columnDef.filter.showEmpty && this.isEmptyValue(value)) {
return true;
}
switch (columnDef.filterType) {
case ColumnFilterTypes.number:
columnResult = this.filterNumberColumn(value, columnDef.filter.value as ColumnNumberFilterData);
break;
case ColumnFilterTypes.date:
columnResult = this.filterDateColumn(value, columnDef.filter.value as ColumnDateFilterData);
break;
// case ColumnFilterType.custom:
// return this.filterCustomColumn(row, filter);
default:
columnResult = this.filterSelectColumn(value, columnDef.filter.value as string[]);
}
if (columnResult) {
return true;
}
}
return false;
}