[UserListView] Add a "isListAlreadySorted" check before sorting list.

This commit is contained in:
xsahil03x
2020-11-20 18:06:47 +05:30
parent c384588d5b
commit 409d95d86a
+7 -2
View File
@@ -179,14 +179,19 @@ class _UserListViewState extends State<UserListView>
); );
} }
bool get isListAlreadySorted =>
widget.sort?.any((e) => e.field == 'name' && e.direction == 1) ?? false;
Stream<List<ListItem>> _buildUserStream( Stream<List<ListItem>> _buildUserStream(
UsersBlocState usersBlocState, UsersBlocState usersBlocState,
) { ) {
return usersBlocState.usersStream.map( return usersBlocState.usersStream.map(
(users) { (users) {
if (widget.groupAlphabetically) { if (widget.groupAlphabetically) {
var temp = users var temp = users;
..sort((curr, next) => curr.name.compareTo(next.name)); if (!isListAlreadySorted) {
temp = users..sort((curr, next) => curr.name.compareTo(next.name));
}
final groupedUsers = <String, List<User>>{}; final groupedUsers = <String, List<User>>{};
for (var e in temp) { for (var e in temp) {
final alphabet = e.name[0]; final alphabet = e.name[0];