MOBILE-2795 message: Add icons to context menu
This commit is contained in:
		
							parent
							
								
									e509abffee
								
							
						
					
					
						commit
						f0d1828324
					
				| @ -1,7 +1,8 @@ | ||||
| <ion-header> | ||||
|     <ion-navbar core-back-button> | ||||
|         <ion-title> | ||||
|             <img *ngIf="conversationImage" class="core-bar-button-image" [src]="conversationImage" alt="" onError="this.src='assets/img/user-avatar.png'" core-external-content role="presentation" [siteId]="siteId || null"> | ||||
|             <img *ngIf="!otherMember && conversationImage" class="core-bar-button-image" [src]="conversationImage" alt="" onError="this.src='assets/img/user-avatar.png'" core-external-content role="presentation" [siteId]="siteId || null"> | ||||
|             <ion-avatar *ngIf="otherMember" class="core-bar-button-image" core-user-avatar [user]="otherMember" [linkProfile]="false" [checkOnline]="otherMember.showonlinestatus" item-start></ion-avatar> | ||||
|             <core-format-text [text]="title"></core-format-text> | ||||
|             <core-icon *ngIf="conversation && conversation.isfavourite" name="fa-star"></core-icon> | ||||
|         </ion-title> | ||||
| @ -9,15 +10,15 @@ | ||||
|     </ion-navbar> | ||||
|     <core-navbar-buttons end> | ||||
|         <core-context-menu> | ||||
|             <core-context-menu-item [hidden]="!showInfo || isGroup" [priority]="1000" [content]="'addon.messages.info' | translate" (action)="viewInfo()"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!showInfo || !isGroup" [priority]="1000" [content]="'addon.messages.groupinfo' | translate" (action)="viewInfo()"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!groupMessagingEnabled || !conversation" [priority]="800" [content]="(conversation && conversation.isfavourite ? 'addon.messages.removefromfavourites' : 'addon.messages.addtofavourites') | translate" (action)="changeFavourite($event)" [closeOnClick]="false"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!otherMember || otherMember.isblocked" [priority]="700" [content]="'addon.messages.blockuser' | translate" (action)="blockUser()"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!otherMember || !otherMember.isblocked" [priority]="700" [content]="'addon.messages.unblockuser' | translate" (action)="unblockUser()"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!canDelete" [priority]="400" [content]="'addon.messages.showdeletemessages' | translate" (action)="toggleDelete()"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!groupMessagingEnabled || !conversationId || isGroup" [priority]="200" [content]="'addon.messages.deleteconversation' | translate" (action)="deleteConversation($event)" [closeOnClick]="false"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!otherMember || otherMember.iscontact || requestContactSent || requestContactReceived" [priority]="100" [content]="'addon.messages.addtoyourcontacts' | translate" (action)="createContactRequest()"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!otherMember || !otherMember.iscontact" [priority]="100" [content]="'addon.messages.removefromyourcontacts' | translate" (action)="removeContact()"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!showInfo || isGroup" [priority]="1000" [content]="'addon.messages.info' | translate" (action)="viewInfo()" iconAction="information-circle"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!showInfo || !isGroup" [priority]="1000" [content]="'addon.messages.groupinfo' | translate" (action)="viewInfo()" iconAction="information-circle"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!groupMessagingEnabled || !conversation" [priority]="800" [content]="(conversation && conversation.isfavourite ? 'addon.messages.removefromfavourites' : 'addon.messages.addtofavourites') | translate" (action)="changeFavourite($event)" [closeOnClick]="false" [iconAction]="favouriteIcon"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!otherMember || otherMember.isblocked" [priority]="700" [content]="'addon.messages.blockuser' | translate" (action)="blockUser()" [iconAction]="blockIcon"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!otherMember || !otherMember.isblocked" [priority]="700" [content]="'addon.messages.unblockuser' | translate" (action)="unblockUser()" [iconAction]="blockIcon"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!canDelete" [priority]="400" [content]="'addon.messages.showdeletemessages' | translate" (action)="toggleDelete()" [iconAction]="(showDelete ? 'checkbox-outline' : 'square-outline')"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!groupMessagingEnabled || !conversationId || isGroup" [priority]="200" [content]="'addon.messages.deleteconversation' | translate" (action)="deleteConversation($event)" [closeOnClick]="false" [iconAction]="deleteIcon"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!otherMember || otherMember.iscontact || requestContactSent || requestContactReceived" [priority]="100" [content]="'addon.messages.addtoyourcontacts' | translate" (action)="createContactRequest()" [iconAction]="addRemoveIcon"></core-context-menu-item> | ||||
|             <core-context-menu-item [hidden]="!otherMember || !otherMember.iscontact" [priority]="100" [content]="'addon.messages.removefromyourcontacts' | translate" (action)="removeContact()" [iconAction]="addRemoveIcon"></core-context-menu-item> | ||||
|         </core-context-menu> | ||||
|     </core-navbar-buttons> | ||||
| </ion-header> | ||||
|  | ||||
| @ -79,6 +79,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { | ||||
|     members: any = {}; // Members that wrote a message, indexed by ID.
 | ||||
|     favouriteIcon = 'fa-star'; | ||||
|     deleteIcon = 'trash'; | ||||
|     blockIcon = 'close-circle'; | ||||
|     addRemoveIcon = 'add'; | ||||
|     otherMember: any; // Other member information (individual conversations only).
 | ||||
|     footerType: 'message' | 'blocked' | 'requiresContact' | 'requestSent' | 'requestReceived' | 'unable'; | ||||
|     requestContactSent = false; | ||||
| @ -420,6 +422,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { | ||||
|                     this.favouriteIcon = conversation.isfavourite ? 'fa-star-o' : 'fa-star'; | ||||
|                     if (!this.isGroup) { | ||||
|                         this.userId = conversation.userid; | ||||
|                         this.blockIcon = this.otherMember && this.otherMember.isblocked ? 'close-circle' : 'checkmark-circle'; | ||||
|                         this.addRemoveIcon = this.otherMember && this.otherMember.iscontact ? 'remove' : 'add'; | ||||
|                     } | ||||
| 
 | ||||
|                     return true; | ||||
| @ -1086,6 +1090,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { | ||||
|         const okText = this.translate.instant('addon.messages.blockuser'); | ||||
| 
 | ||||
|         return this.domUtils.showConfirm(template, undefined, okText).then(() => { | ||||
|             this.blockIcon = 'spinner'; | ||||
| 
 | ||||
|             const modal = this.domUtils.showModalLoading('core.sending', true); | ||||
|             this.showLoadingModal = true; | ||||
| 
 | ||||
| @ -1095,6 +1101,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { | ||||
|             }); | ||||
|         }).catch((error) => { | ||||
|             this.domUtils.showErrorModalDefault(error, 'core.error', true); | ||||
|         }).finally(() => { | ||||
|             this.blockIcon = this.otherMember.isblocked ? 'close-circle' : 'checkmark-circle'; | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
| @ -1140,6 +1148,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { | ||||
|         const okText = this.translate.instant('addon.messages.unblockuser'); | ||||
| 
 | ||||
|         return this.domUtils.showConfirm(template, undefined, okText).then(() => { | ||||
|             this.blockIcon = 'spinner'; | ||||
| 
 | ||||
|             const modal = this.domUtils.showModalLoading('core.sending', true); | ||||
|             this.showLoadingModal = true; | ||||
| 
 | ||||
| @ -1149,6 +1159,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { | ||||
|             }); | ||||
|         }).catch((error) => { | ||||
|             this.domUtils.showErrorModalDefault(error, 'core.error', true); | ||||
|         }).finally(() => { | ||||
|             this.blockIcon = this.otherMember.isblocked ? 'close-circle' : 'checkmark-circle'; | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
| @ -1167,6 +1179,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { | ||||
|         const okText = this.translate.instant('core.add'); | ||||
| 
 | ||||
|         return this.domUtils.showConfirm(template, undefined, okText).then(() => { | ||||
|             this.addRemoveIcon = 'spinner'; | ||||
| 
 | ||||
|             const modal = this.domUtils.showModalLoading('core.sending', true); | ||||
|             this.showLoadingModal = true; | ||||
| 
 | ||||
| @ -1176,6 +1190,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { | ||||
|             }); | ||||
|         }).catch((error) => { | ||||
|             this.domUtils.showErrorModalDefault(error, 'core.error', true); | ||||
|         }).finally(() => { | ||||
|             this.addRemoveIcon = this.otherMember.iscontact ? 'remove' : 'add'; | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
| @ -1238,6 +1254,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { | ||||
|         const okText = this.translate.instant('core.remove'); | ||||
| 
 | ||||
|         return this.domUtils.showConfirm(template, undefined, okText).then(() => { | ||||
|             this.addRemoveIcon = 'spinner'; | ||||
| 
 | ||||
|             const modal = this.domUtils.showModalLoading('core.sending', true); | ||||
|             this.showLoadingModal = true; | ||||
| 
 | ||||
| @ -1247,6 +1265,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { | ||||
|             }); | ||||
|         }).catch((error) => { | ||||
|             this.domUtils.showErrorModalDefault(error, 'core.error', true); | ||||
|         }).finally(() => { | ||||
|             this.addRemoveIcon = this.otherMember.iscontact ? 'remove' : 'add'; | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -554,7 +554,8 @@ ion-app.app-root { | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   .toolbar .core-bar-button-image { | ||||
|   .toolbar img.core-bar-button-image, | ||||
|   .toolbar .core-bar-button-image img { | ||||
|     padding: 0; | ||||
|     width: 100%; | ||||
|     height: 100%; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user