List<T> filterData(String query) { return query.isEmpty ? items : items .where((e) => onFilterTextChanged?.call(e, query) ?? false) .toList(); }