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-14 10:35:54 +01:00
< div class = "messages-list-item-wrapper container-width-100" * ngFor = "let msg of wsChatMethodsService.getGroupRoom(roomId).massages; 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" >
< button ( click ) = " deleteMessage ( msg . _id ) " class = "menuButton" > Apagar mensagem< / button >
< / 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-09-14 15:57:24 +01:00
< div * ngIf = "msg.attachments" class = "message-attachments" >
2021-09-13 12:37:58 +01:00
< div * ngFor = "let file of msg.attachments" >
2021-12-08 20:27:05 +01:00
< div ( click ) = " openPreview ( msg ) " >
< img * ngIf = "file.image_url" src = "{{file.image_url}}" alt = "image" >
< / div >
2021-09-21 14:05:59 +01:00
< div >
2021-09-23 12:13:20 +01:00
< div >
< div class = "file" >
<!-- <canvas id="pdf_canvas"></canvas> -->
2021-10-12 10:17:56 +01:00
< div ( click ) = " viewDocument ( msg . file , file . title_link ) " class = "file-details add-ellipsis cursor-pointer" * ngIf = "msg.file" >
2021-10-05 16:29:33 +01:00
< span * ngIf = "msg.file.type" >
2021-09-23 12:13:20 +01:00
< 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 >
2021-10-05 16:29:33 +01:00
< fa-icon * ngIf = "msg.file.type == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'" icon = "file-word" class = "excel-icon" > < / fa-icon >
2021-09-23 12:13:20 +01:00
< ion-icon * ngIf = "msg.file.type == 'application/webtrix'" src = "assets/icon/webtrix.svg" > < / ion-icon >
< / span >
2021-09-30 15:53:55 +01:00
< ion-label class = "file-title" > {{file.title}}< / ion-label >
< / div >
2021-09-23 12:13:20 +01:00
< / div >
< 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 >
< span * ngIf = "msg.file.type != 'application/webtrix'" > {{msg.file.type.replace('application/','').toUpperCase()}}< / span >
< / ion-label >
< / div >
2021-09-14 15:57:24 +01:00
< / div >
< / div >
2021-09-13 12:37:58 +01:00
< / div >
< / div >
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-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.alias =='documento'" >
2022-01-06 20:52:50 +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" >
< 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 class = "message" >
< ion-label > {{msg.msg}}< / ion-label >
< div * ngIf = "msg.attachments" class = "message-attachments" >
< div * ngFor = "let file of msg.attachments" >
< div ( click ) = " openPreview ( msg ) " >
< img * ngIf = "file.image_url" src = "{{file.image_url}}" alt = "image" >
< / div >
< div >
< div >
< div class = "file" >
<!-- <canvas id="pdf_canvas"></canvas> -->
< 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 >
< / div >
< 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 >
< span * ngIf = "msg.file.type != 'application/webtrix'" > {{msg.file.type.replace('application/','').toUpperCase()}}< / span >
< / ion-label >
< / div >
< / div >
< / div >
< / div >
< / div >
{{last ? scrollToBottom() : ''}}
< / div >
< / div >
2022-01-13 17:28:35 +01:00
< div class = 'message-item incoming-{{msg.u.username!=loggedUser.me.username}} max-width-45' * ngIf = "msg.msg ==''" >
< 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 ) " >
<!-- <img *ngIf="file.image_url" src="{{file.image_url}}" alt="image" (click)="imageSize(file.image_url)"> -->
< img * ngIf = "msg.file.image_url" src = "{{msg.file.image_url}}" alt = "image" >
< / div >
< / div >
< / div >
{{last ? scrollToBottom() : ''}}
< / div >
< / div >
< / div >
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-06 20:52:50 +01:00
< div * ngIf = "msg.file" >
< 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() : ''}}
< / 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-01-24 15:21:37 +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-01-24 15:21:37 +01:00
< ion-fab-button title = "Tirar Fotografia" class = "hide-desktop" ( click ) = " takePicture ( ) " 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-20 14:27:54 +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 ) ] = " message " > < / 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" >
2021-04-12 00:22:47 +01:00
< button * ngIf = "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-19 12:32:29 +01:00
< button title = "Enviar Mensagem" * ngIf = "!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