sort method
List<double>
sort(
- Map<
double, T> rowsById, - SortColumn? sortColumn,
- List<
DataGridColumn< columnsT> >
Implementation
List<double> sort(
Map<double, T> rowsById,
SortColumn? sortColumn,
List<DataGridColumn<T>> columns,
) {
if (sortColumn == null) {
return rowsById.keys.toList();
}
final ids = rowsById.keys.toList();
final column = columns.firstWhere((c) => c.id == sortColumn.columnId);
ids.sort((aId, bId) {
final aValue = _getCellValue(rowsById[aId]!, column);
final bValue = _getCellValue(rowsById[bId]!, column);
final comparison = _compareValues(aValue, bValue);
if (comparison != 0) {
return sortColumn.direction == SortDirection.ascending
? comparison
: -comparison;
}
return 0;
});
return ids;
}