From 409d95d86a6d3310e9bfe0b5ba60e004894b1523 Mon Sep 17 00:00:00 2001 From: xsahil03x Date: Fri, 20 Nov 2020 18:06:47 +0530 Subject: [PATCH] [UserListView] Add a "isListAlreadySorted" check before sorting list. --- lib/src/user_list_view.dart | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/src/user_list_view.dart b/lib/src/user_list_view.dart index b21e8c7d..0f7b969e 100644 --- a/lib/src/user_list_view.dart +++ b/lib/src/user_list_view.dart @@ -179,14 +179,19 @@ class _UserListViewState extends State ); } + bool get isListAlreadySorted => + widget.sort?.any((e) => e.field == 'name' && e.direction == 1) ?? false; + Stream> _buildUserStream( UsersBlocState usersBlocState, ) { return usersBlocState.usersStream.map( (users) { if (widget.groupAlphabetically) { - var temp = users - ..sort((curr, next) => curr.name.compareTo(next.name)); + var temp = users; + if (!isListAlreadySorted) { + temp = users..sort((curr, next) => curr.name.compareTo(next.name)); + } final groupedUsers = >{}; for (var e in temp) { final alphabet = e.name[0];