[UserListView] Add a "isListAlreadySorted" check before sorting list.
This commit is contained in:
@@ -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];
|
||||||
|
|||||||
Reference in New Issue
Block a user