protected filterByColumn()

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;
  }