compareByFilterType static method

bool compareByFilterType({
  1. required PlutoFilterType filterType,
  2. required String base,
  3. required String search,
  4. required PlutoColumn column,
})

Compare base and search with PlutoFilterType.compare.

Implementation

static bool compareByFilterType({
  required PlutoFilterType filterType,
  required String base,
  required String search,
  required PlutoColumn column,
}) {
  bool compare = false;

  if (column.type is PlutoColumnTypeWithNumberFormat) {
    final numberColumn = column.type as PlutoColumnTypeWithNumberFormat;

    compare = compare ||
        filterType.compare(
          base: numberColumn.applyFormat(base),
          search: search,
          column: column,
        );

    search = search.replaceFirst(
      numberColumn.numberFormat.symbols.DECIMAL_SEP,
      '.',
    );
  }

  return compare ||
      filterType.compare(
        base: base,
        search: search,
        column: column,
      );
}