MOBILE-3281 users: Keep selected item if present in list

main
Pau Ferrer Ocaña 2020-03-02 11:42:51 +01:00
parent 088dbcd821
commit db75044386
1 changed files with 14 additions and 10 deletions

View File

@ -161,16 +161,10 @@ export class CoreUserParticipantsComponent implements OnInit {
this.displaySearchResults = false; this.displaySearchResults = false;
this.participants = []; this.participants = [];
this.searchPage = 0; this.searchPage = 0;
this.splitviewCtrl.emptyDetails();
// Remove search results and display all participants. // Remove search results and display all participants.
this.participantsLoaded = false; this.participantsLoaded = false;
this.fetchData(true).then(() => { this.fetchData(true);
if (this.splitviewCtrl.isOn() && this.participants.length > 0) {
// Take first and load it.
this.gotoParticipant(this.participants[0].id);
}
});
} }
/** /**
@ -201,10 +195,20 @@ export class CoreUserParticipantsComponent implements OnInit {
this.canLoadMore = result.canLoadMore; this.canLoadMore = result.canLoadMore;
this.searchPage++; this.searchPage++;
if (!loadMore && this.splitviewCtrl.isOn() && this.participants.length > 0) { if (!loadMore && this.splitviewCtrl.isOn()) {
// Take first and load it. // Load the first entry.
if (this.participants.length > 0) {
const found = this.participantId && this.participants.some((user) => user.id == this.participantId);
// The current selected user is not found in the current list, open first item.
if (!found) {
this.gotoParticipant(this.participants[0].id); this.gotoParticipant(this.participants[0].id);
} }
} else {
this.participantId = null;
this.splitviewCtrl.emptyDetails();
}
}
}).catch((error) => { }).catch((error) => {
this.domUtils.showErrorModalDefault(error, 'Error searching users.'); this.domUtils.showErrorModalDefault(error, 'Error searching users.');