2021-03-04 18:50:26 +01:00
< ion-header class = "ion-no-border" >
< ion-toolbar class = "header-toolbar" >
< div class = "main-header" >
< div class = "header-top" >
< div class = "middle" >
2022-01-14 14:22:31 +01:00
< ion-label class = "title" > {{wsChatMethodsService.getGroupRoom(roomId).name}}< / ion-label >
2021-03-04 18:50:26 +01:00
< / div >
< div class = "right" >
2022-01-19 12:32:29 +01:00
< button title = "Menu" class = "btn-no-color" ( click ) = " openGroupMessagesOptions ( ) " >
2021-10-25 10:53:01 +01:00
< ion-icon * ngIf = "ThemeService.currentTheme == 'default' " src = "assets/images/icons-menu.svg" > < / ion-icon >
< ion-icon * ngIf = "ThemeService.currentTheme == 'gov' " src = "assets/images/theme/gov/icons-menu.svg" > < / ion-icon >
2021-04-09 09:04:45 +01:00
< / button >
2021-07-23 14:43:51 +01:00
< / div >
2021-03-04 18:50:26 +01:00
< / div >
2022-01-19 12:32:29 +01:00
< div title = "Ver Contactos" ( click ) = " openGroupContactsPage ( ) " class = "header-bottom" >
2021-03-04 18:50:26 +01:00
< div class = "header-bottom-icon" >
2021-10-25 13:21:48 +01:00
< ion-icon * ngIf = "ThemeService.currentTheme == 'default' " src = "assets/icon/icons-user.svg" > < / ion-icon >
< ion-icon * ngIf = "ThemeService.currentTheme == 'gov' " src = "assets/icon/theme/gov/icons-user.svg" > < / ion-icon >
2021-03-04 18:50:26 +01:00
< / div >
< div class = "header-bottom-contacts" >
2021-09-21 14:05:59 +01:00
< ion-label class = "contacts-list" * ngFor = "let member of members" >
2021-03-04 18:50:26 +01:00
{{member.name}},
< / ion-label >
< / div >
< / div >
2022-01-13 23:20:36 +01:00
<!-- <div *ngIf="room.customFields.countDownDate" class="d - flex align - items - center yellow - orange pl - 10">
2021-10-27 08:45:37 +01:00
<i class="far fa - clock font - 15" ></i>
2021-11-03 15:35:01 +01:00
<ion - label class="font - 15 pl - 10" color="warning">{{countDownDate()}}</ion - label>
2022-01-13 23:20:36 +01:00
</div> -->
2021-03-04 18:50:26 +01:00
< / div >
< / ion-toolbar >
< / ion-header >
< ion-content >
< ion-refresher name = "refresher" slot = "fixed" ( ionRefresh ) = " doRefresh ( $ event ) " >
< ion-progress-bar type = "indeterminate" * ngIf = "showLoader" > < / ion-progress-bar >
< ion-refresher-content >
< / ion-refresher-content >
< / ion-refresher >
2021-07-26 14:09:26 +01:00
2021-09-28 15:23:51 +01:00
< div class = "messages" # scrollMe >
2021-07-26 14:09:26 +01:00
< div class = "welcome-text" >
< ion-label > Esta conversa passou a grupo< / ion-label > < br / >
< ion-label > A conversa original mantêm-se como chat individual< / ion-label >
< / div >
2021-09-21 14:05:59 +01:00
2022-01-28 15:59:01 +01:00
< div class = "messages-list-item-wrapper container-width-100" * ngFor = "let msg of wsChatMethodsService.getGroupRoom(roomId).messages; let last = last" >
2022-01-17 11:27:25 +01:00
< div class = "message-item incoming-{{msg.u.username!=loggedUser.me.username}} max-width-45" * ngIf = "msg.t != 'r' && msg.t != 'ul' && msg.t != 'au' && msg.t != 'ru' && msg.msg !=''" >
2021-09-28 15:23:51 +01:00
< div class = "message-item-options d-flex justify-content-end" >
< fa-icon [ matMenuTriggerFor ] = " beforeMenu " icon = "chevron-down" class = "message-options-icon cursor-pointer" > < / fa-icon >
< mat-menu # beforeMenu = "matMenu" xPosition = "before" >
2022-01-28 15:31:52 +01:00
< button ( click ) = " deleteMessage ( msg . _id , msg ) " class = "menuButton" > Apagar mensagem< / button >
2021-09-28 15:23:51 +01:00
< / mat-menu >
< / div >
2021-03-15 10:42:19 +01:00
< div class = "title" >
< ion-label > {{msg.u.name}}< / ion-label >
2021-09-06 16:53:58 +01:00
< span class = "time" > {{showDateDuration(msg._updatedAt)}}< / span >
2021-03-15 10:42:19 +01:00
< / div >
2021-09-14 16:34:50 +01:00
< div class = "message" >
2021-03-15 10:42:19 +01:00
< ion-label > {{msg.msg}}< / ion-label >
2021-08-23 16:31:06 +01:00
{{last ? scrollToBottom() : ''}}
2021-03-15 10:42:19 +01:00
< / div >
2021-03-04 18:50:26 +01:00
< / div >
2022-01-06 20:52:50 +01:00
2022-01-27 14:26:18 +01:00
< div * ngIf = "msg.file" >
< div class = "message-item incoming-{{msg.u.username!=loggedUser.me.username}} max-width-45" * ngIf = "msg.t != 'r' && msg.t != 'ul' && msg.t != 'au' && msg.t != 'ru' && msg.file.type != 'application/meeting'" >
< div * ngIf = "msg.file.type != 'application/meeting'" >
< div class = "message-item-options d-flex justify-content-end" >
< fa-icon [ matMenuTriggerFor ] = " beforeMenu " icon = "chevron-down" class = "message-options-icon cursor-pointer" > < / fa-icon >
< mat-menu # beforeMenu = "matMenu" xPosition = "before" >
2022-01-28 15:31:52 +01:00
< button ( click ) = " deleteMessage ( msg . _id , msg ) " class = "menuButton" > Apagar mensagem< / button >
2022-01-27 14:26:18 +01:00
< / mat-menu >
< / div >
< div class = "title" >
< span class = "time" > {{showDateDuration(msg._updatedAt)}}< / span >
< / div >
< div class = "message" >
< div * ngIf = "msg.attachments" class = "message-attachments" >
< div * ngFor = "let file of msg.attachments" >
< div * ngIf = "msg.file.type == 'application/img'" ( click ) = " openPreview ( msg ) " >
2022-02-08 17:44:15 +01:00
< img * ngIf = "msg.attachments[0].image_url" src = "{{msg.attachments[0].image_url}}" alt = "image" >
< ion-icon * ngIf = "msg.attachments[0].image_url == null" name = "download-outline" > < / ion-icon >
2022-01-27 14:26:18 +01:00
< / div >
2022-01-27 14:56:55 +01:00
< div * ngIf = "msg.file.type != 'application/img'" >
2022-01-06 20:52:50 +01:00
< div class = "file" >
2022-01-27 14:26:18 +01:00
< div ( click ) = " viewDocument ( msg . file , file . title_link ) " class = "file-details add-ellipsis cursor-pointer" * ngIf = "msg.file" >
< span * ngIf = "msg.file.type" >
< fa-icon * ngIf = "msg.file.type == 'application/pdf'" icon = "file-pdf" class = "pdf-icon" > < / fa-icon >
< fa-icon * ngIf = "msg.file.type == 'application/word'" icon = "file-word" class = "word-icon" > < / fa-icon >
< fa-icon * ngIf = "msg.file.type == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'" icon = "file-word" class = "excel-icon" > < / fa-icon >
< ion-icon * ngIf = "msg.file.type == 'application/webtrix'" src = "assets/icon/webtrix.svg" > < / ion-icon >
< / span >
< ion-label class = "file-title" > {{file.title}}< / ion-label >
< / div >
2022-01-06 20:52:50 +01:00
< / div >
2022-01-27 14:26:18 +01:00
< div class = "file-details-optional" >
< ion-label * ngIf = "msg.file" >
< span * ngIf = "file.description" > {{file.description}}< / span >
< span * ngIf = "file.description && msg.file.type != 'application/webtrix'" > • < / span >
2022-02-04 00:22:35 +01:00
< span * ngIf = "msg.file.type != 'application/webtrix'" > {{msg.displayType}}< / span >
2022-01-27 14:26:18 +01:00
< / ion-label >
2022-01-06 20:52:50 +01:00
< / div >
< / div >
< / div >
< / div >
2022-01-27 14:26:18 +01:00
{{last ? scrollToBottom() : ''}}
2022-01-06 20:52:50 +01:00
< / div >
< / div >
< / div >
2022-01-27 14:26:18 +01:00
< div * ngIf = "msg.file.type == 'application/meeting'" class = "info-meeting" >
< ion-label class = "info-meeting-small" > {{msg.u.name}} criou esta reunião< / ion-label > < br / >
< button ( click ) = " goToEvent ( msg . file . id ) " class = "btn-no-color info-meeting-normal" > < ion-label class = "info-meeting-normal" > {{msg.file.subject}}< / ion-label > < / button > < br / >
< ion-label class = "info-meeting-medium" > < ion-icon name = "calendar-outline" > < / ion-icon > De {{showDateDuration(msg.file.start_date)}} a {{showDateDuration(msg.file.end_date)}}< / ion-label > < br / >
< ion-label class = "info-meeting-medium" > < ion-icon > < / ion-icon > < ion-icon name = "location-outline" > < / ion-icon > {{msg.file.venue}}< / ion-label > < br / >
< / div >
< / div >
2022-01-06 20:52:50 +01:00
2022-01-27 14:26:18 +01:00
<!-- <div class='message - item incoming - {{msg.u.username!=loggedUser.me.username}} max - width - 45' *ngIf="msg.msg ==''">
2022-01-13 17:28:35 +01:00
<div *ngIf="msg.file.type == 'application/img'">
<div class="message - item - options d - flex justify - content - end">
<fa - icon [matMenuTriggerFor]="beforeMenu" icon="chevron - down" class="message - options - icon cursor - pointer">
</fa - icon>
<mat - menu #beforeMenu="matMenu" xPosition="before">
<button (click)="deleteMessage(msg._id)" class="menuButton">Apagar mensagem</button>
</mat - menu>
</div>
<div class="title">
<ion - label>{{msg.u.name}}</ion - label>
<span class="time">{{showDateDuration(msg._updatedAt)}}</span>
</div>
<div>
<ion - label>{{msg.msg}}</ion - label>
<div *ngIf="msg.file" class="message - attachments">
<div>
<div (click)="openPreview(msg)">
2022-02-08 17:44:15 +01:00
<img *ngIf="msg.attachments[0].image_url" src="{{msg.attachments[0].image_url}}" alt="image">
2022-01-13 17:28:35 +01:00
</div>
</div>
</div>
{{last ? scrollToBottom() : ''}}
</div>
</div>
</div>
2022-01-27 14:26:18 +01:00
-->
2022-01-06 20:52:50 +01:00
2021-03-15 10:42:19 +01:00
< div * ngIf = "msg.t == 'r'" class = "info-text" >
2021-09-07 15:19:56 +01:00
< ion-label > Alterou o nome do grupo para "{{msg.msg.split('-').join(' ')}}"< / ion-label > < br / >
{{last ? scrollToBottom() : ''}}
2021-03-04 18:50:26 +01:00
< / div >
2021-09-08 14:36:49 +01:00
< div * ngIf = "msg.t == 'ul'" class = "info-text-leave" >
2021-09-09 11:47:49 +01:00
< div * ngFor = "let user of allUsers" >
< div * ngIf = "msg.msg == user.username" >
< ion-label > {{user.name}} saiu do grupo< / ion-label > < br / >
< / div >
< / div >
{{last ? scrollToBottom() : ''}}
< / div >
< div * ngIf = "msg.t == 'ru'" class = "info-text-leave" >
< div * ngFor = "let user of allUsers" >
< div * ngIf = "msg.msg == user.username" >
< ion-label > {{user.name}} foi removido do grupo< / ion-label > < br / >
< / div >
< / div >
2021-09-08 14:36:49 +01:00
{{last ? scrollToBottom() : ''}}
2022-01-17 11:27:25 +01:00
< / div >
< div * ngIf = "msg.t == 'au'" class = "info-text-leave" >
< div * ngFor = "let user of allUsers" >
< div * ngIf = "msg.msg == user.username" >
< ion-label > Adicionou {{user.name}}< / ion-label > < br / >
< / div >
2021-09-09 11:47:49 +01:00
< / div >
2021-09-08 14:36:49 +01:00
{{last ? scrollToBottom() : ''}}
< / div >
2022-01-27 14:26:18 +01:00
<!-- <div *ngIf="msg.file" >
2022-01-06 20:52:50 +01:00
<div *ngIf="msg.file.type == 'application/meeting'" class="info - meeting">
2021-12-22 10:31:10 +01:00
<ion - label class="info - meeting - small">{{msg.u.name}} criou esta reunião</ion - label><br />
<button (click)="goToEvent(msg.file.id)" class="btn - no - color info - meeting - normal"><ion - label class="info - meeting - normal">{{msg.file.subject}}</ion - label></button><br />
<ion - label class="info - meeting - medium"><ion - icon name="calendar - outline"></ion - icon> De {{showDateDuration(msg.file.start_date)}} a {{showDateDuration(msg.file.end_date)}}</ion - label><br />
<ion - label class="info - meeting - medium"><ion - icon></ion - icon><ion - icon name="location - outline"></ion - icon> {{msg.file.venue}}</ion - label><br />
</div>
{{last ? scrollToBottom() : ''}}
2022-01-27 14:26:18 +01:00
</div> -->
2021-03-04 18:50:26 +01:00
< / div >
< / div >
2021-09-24 15:39:25 +01:00
< ion-fab horizontal = "end" vertical = "bottom" slot = "fixed" >
< ion-fab-button * ngIf = "scrollToBottomBtn" ( click ) = " scrollToBottomClicked ( ) " color = "light" size = "small" >
< ion-icon name = "chevron-down" > < / ion-icon >
< / ion-fab-button >
<!-- <ion - fab - list side="start">
<ion - fab - button color="light">
<ion - icon name="chevron - down"></ion - icon>
</ion - fab - button>
<ion - fab - button color="light">
<ion - icon name="logo - twitter"></ion - icon>
</ion - fab - button>
<ion - fab - button color="light">
<ion - icon name="logo - vimeo"></ion - icon>
</ion - fab - button>
</ion - fab - list> -->
< / ion-fab >
2021-03-04 18:50:26 +01:00
< / ion-content >
2021-04-12 00:22:47 +01:00
2021-03-04 18:50:26 +01:00
< ion-footer >
2021-03-15 10:42:19 +01:00
< div class = "container width-100 d-flex" >
< div >
2021-10-06 17:27:49 +01:00
<!-- <button class="btn - no - color" (click)="openSendGroupMessageOptions()">
2021-10-25 13:21:48 +01:00
<ion - icon class="chat - icon - options" src="assets/images/icons - add.svg"></ion - icon>
2021-10-06 17:27:49 +01:00
</button> -->
< ion-fab horizontal = "start" vertical = "bottom" slot = "fixed" >
< ion-fab-button color = "light" size = "small" >
< ion-icon name = "add" > < / ion-icon >
< / ion-fab-button >
< ion-fab-list side = "top" >
2022-01-19 12:32:29 +01:00
< ion-fab-button title = "Nova Reunião" ( click ) = " bookMeeting ( ) " color = "light" >
2021-10-06 17:27:49 +01:00
< ion-icon name = "calendar" > < / ion-icon >
< / ion-fab-button >
2022-02-09 15:06:54 +01:00
< ion-fab-button title = "Adicionar Documento" ( click ) = " addFile ( ) " color = "light" >
2021-10-06 17:27:49 +01:00
< ion-icon name = "document" > < / ion-icon >
2021-12-23 07:40:01 +01:00
< / ion-fab-button >
2022-01-24 15:21:37 +01:00
< ion-fab-button title = "Anexar Fotografia" ( click ) = " addImage ( ) " color = "light" >
2021-10-06 17:27:49 +01:00
< ion-icon name = "image" > < / ion-icon >
2021-12-23 07:40:01 +01:00
< / ion-fab-button >
2022-02-09 15:06:54 +01:00
< ion-fab-button title = "Tirar Fotografia" ( click ) = " takePictureMobile ( ) " color = "light" >
2021-10-06 17:27:49 +01:00
< ion-icon name = "camera" > < / ion-icon >
2021-12-23 07:40:01 +01:00
< / ion-fab-button >
2022-01-24 15:21:37 +01:00
< ion-fab-button title = "Documento da Gestão Documental" ( click ) = " addFileWebtrix ( ) " color = "light" >
2021-10-07 15:30:36 +01:00
< ion-icon src = "assets/icon/webtrix.svg" > < / ion-icon >
< / ion-fab-button >
2021-10-06 17:27:49 +01:00
< / ion-fab-list >
< / ion-fab >
2021-03-15 10:42:19 +01:00
< / div >
2021-12-14 23:04:03 +01:00
< div class = "width-100" >
2021-03-15 10:42:19 +01:00
< ion-item class = "ion-no-padding type-message" lines = "none" >
2022-01-28 16:15:20 +01:00
< ion-textarea autocomplete = "on" autocorrect = "on" spellcheck = "true" ( keyup . enter ) = " sendMessage ( ) " clearOnEdit = "true" placeholder = "Escrever uma mensagem" class = "message-input" rows = "1" [ ( ngModel ) ] = " wsChatMethodsService . getGroupRoom ( roomId ) . message " ( ionChange ) = " changeInput ( ) " > < / ion-textarea >
2021-07-26 10:48:34 +01:00
< button hidden class = "btn-no-color" >
2021-04-13 14:14:55 +01:00
< ion-icon slot = "end" src = "assets/icon/icons-chat-mic.svg" > < / ion-icon >
< / button >
2021-03-15 10:42:19 +01:00
< / ion-item >
< / div >
2021-12-14 23:04:03 +01:00
< div class = "btn-send" >
2022-01-28 16:15:20 +01:00
< button * ngIf = "wsChatMethodsService.getGroupRoom(roomId).message" class = "btn-no-color" ( click ) = " sendMessage ( ) " >
2021-10-23 09:53:21 +01:00
< ion-icon * ngIf = "ThemeService.currentTheme == 'default' " class = "chat-icon-send" src = "assets/icon/theme/gov/icons-chat-send.svg" > < / ion-icon >
< ion-icon * ngIf = "ThemeService.currentTheme == 'gov' " class = "chat-icon-send" src = "assets/icon/theme/gov/icons-chat-send.svg" > < / ion-icon >
2021-04-12 00:22:47 +01:00
< / button >
2022-01-28 16:15:20 +01:00
< button title = "Enviar Mensagem" * ngIf = "!wsChatMethodsService.getGroupRoom(roomId).message" class = "btn-no-color" >
2021-10-23 09:53:21 +01:00
< ion-icon * ngIf = "ThemeService.currentTheme == 'default' " class = "chat-icon-send" src = "assets/icon/theme/gov/icons-chat-send.svg" > < / ion-icon >
< ion-icon * ngIf = "ThemeService.currentTheme == 'gov' " class = "chat-icon-send" src = "assets/icon/theme/gov/icons-chat-send.svg" > < / ion-icon >
2021-04-09 09:04:45 +01:00
< / button >
2021-03-15 10:42:19 +01:00
< / div >
< / div >
2021-03-04 18:50:26 +01:00
< / ion-footer >
2021-03-12 11:56:54 +01:00