applySearchAndSort static method
Implementation
static List<Map<String, Object?>> applySearchAndSort({
required List<Map<String, Object?>> rows,
required List<String> columns,
required String searchText,
required String? sortColumn,
required bool sortAscending,
}) {
var result = List<Map<String, Object?>>.from(rows);
final query = searchText.trim().toLowerCase();
if (query.isNotEmpty) {
result = result.where((row) {
return columns.any((column) {
final value = normalizeValue(row[column]).toLowerCase();
return value.contains(query);
});
}).toList();
}
if (sortColumn != null) {
result.sort((a, b) {
final comparison = compareValues(a[sortColumn], b[sortColumn]);
return sortAscending ? comparison : -comparison;
});
}
return result;
}