MOBILE-2734 messages: Fix opening group conversations in search page
parent
790dbbf7cd
commit
f8addeb408
|
@ -30,7 +30,7 @@
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
<!-- List of results -->
|
<!-- List of results -->
|
||||||
<a ion-item text-wrap *ngFor="let result of item.results" [title]="result.fullname" (click)="openDiscussion(result.id)" [class.core-split-item-selected]="result.id == selectedUserId" class="addon-message-discussion">
|
<a ion-item text-wrap *ngFor="let result of item.results" [title]="result.fullname" (click)="openConversation(result)" [class.core-split-item-selected]="result == selectedResult" class="addon-message-discussion">
|
||||||
<ion-avatar item-start core-user-avatar [user]="result" [checkOnline]="true" [linkProfile]="false"></ion-avatar>
|
<ion-avatar item-start core-user-avatar [user]="result" [checkOnline]="true" [linkProfile]="false"></ion-avatar>
|
||||||
<h2>
|
<h2>
|
||||||
<core-format-text [text]="result.fullname"></core-format-text>
|
<core-format-text [text]="result.fullname"></core-format-text>
|
||||||
|
|
|
@ -60,7 +60,7 @@ export class AddonMessagesSearchPage implements OnDestroy {
|
||||||
loadingMore: false,
|
loadingMore: false,
|
||||||
loadMoreError: false
|
loadMoreError: false
|
||||||
};
|
};
|
||||||
selectedUserId = null;
|
selectedResult = null;
|
||||||
|
|
||||||
protected memberInfoObserver;
|
protected memberInfoObserver;
|
||||||
|
|
||||||
|
@ -193,11 +193,11 @@ export class AddonMessagesSearchPage implements OnDestroy {
|
||||||
|
|
||||||
if (!loadMore) {
|
if (!loadMore) {
|
||||||
if (this.contacts.results.length > 0) {
|
if (this.contacts.results.length > 0) {
|
||||||
this.openDiscussion(this.contacts.results[0].id, true);
|
this.openConversation(this.contacts.results[0], true);
|
||||||
} else if (this.nonContacts.results.length > 0) {
|
} else if (this.nonContacts.results.length > 0) {
|
||||||
this.openDiscussion(this.nonContacts.results[0].id, true);
|
this.openConversation(this.nonContacts.results[0], true);
|
||||||
} else if (this.messages.results.length > 0) {
|
} else if (this.messages.results.length > 0) {
|
||||||
this.openDiscussion(this.messages.results[0].userid, true);
|
this.openConversation(this.messages.results[0], true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
|
@ -223,15 +223,21 @@ export class AddonMessagesSearchPage implements OnDestroy {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Open a discussion in the split view.
|
* Open a conversation in the split view.
|
||||||
*
|
*
|
||||||
* @param {number} userId User id.
|
* @param {any} result User or message.
|
||||||
* @param {boolean} [onInit=false] Whether the tser was selected on initial load.
|
* @param {boolean} [onInit=false] Whether the tser was selected on initial load.
|
||||||
*/
|
*/
|
||||||
openDiscussion(userId: number, onInit: boolean = false): void {
|
openConversation(result: any, onInit: boolean = false): void {
|
||||||
if (!onInit || this.splitviewCtrl.isOn()) {
|
if (!onInit || this.splitviewCtrl.isOn()) {
|
||||||
this.selectedUserId = userId;
|
this.selectedResult = result;
|
||||||
this.splitviewCtrl.push('AddonMessagesDiscussionPage', { userId });
|
const params: any = {};
|
||||||
|
if (result.conversationid) {
|
||||||
|
params.conversationId = result.conversationid;
|
||||||
|
} else {
|
||||||
|
params.userId = result.id;
|
||||||
|
}
|
||||||
|
this.splitviewCtrl.push('AddonMessagesDiscussionPage', params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue