pull made from developer

This commit is contained in:
Eudes Inácio
2021-12-23 07:43:52 +01:00
41 changed files with 1312 additions and 115 deletions
@@ -20,7 +20,7 @@ ion-menu{
background-color: #fff;
color:#000;
transform: translate3d(0, 1px, 0);
.title-content{
width: 100% !important;
margin: 0px auto;
@@ -95,7 +95,7 @@ ion-menu{
width: calc(100%-50px);
margin-left: 50px;
font-size: 18px;
.content-location{
width: 100%;
margin: 0 auto;
@@ -106,10 +106,10 @@ ion-menu{
width: calc(100% - 105px);
float: left;
}
}
.location-detail{
width: 210px;
font-weight: 700;
@@ -175,10 +175,10 @@ ion-menu{
font-size: 16px;
}
}
.bottom-content{
margin: 0 auto;
.bottom-content h3{
font-size: 16px;
margin: 0 0 0 10px;
@@ -214,12 +214,12 @@ ion-menu{
}
.aside-right{
padding: 30px 20px 0 20px !important;
.arrow-right{
display: flex;
justify-content: flex-end;
margin-bottom: 20px;
.arrow-right-icon{
width: 37px;
float: right;
@@ -230,11 +230,10 @@ ion-menu{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.btn-ok, .btn-cancel, .btn-delete{
height: auto !important;
font-size: 16px !important;
font-weight: 600 !important;
width: 100% !important;
margin-bottom: 10px !important;
padding: 15px !important;
@@ -269,12 +268,12 @@ ion-menu{
width: 65%;
border-right: 1px solid #d8d8d8;
}
.aside-right{
width: 35%;
}
}
@media only screen and (min-width: 1024px){
.content{
width: 70%;
@@ -283,7 +282,7 @@ ion-menu{
width: 30%;
}
}
@media only screen and (min-width: 1140px){
.content{
width: 75%;
@@ -299,4 +298,4 @@ ion-menu{
float: right;
padding: 5px 13.5px 5px 13.5px;
color: #fff;
}
}
+3 -1
View File
@@ -131,11 +131,13 @@
</div>
<!-- Aside right -->
<div class="aside-content d-none flex-column height-100">
<app-empty-chat [texto]="emptyTextDescription"
class="height-100 flex-column"
[style.display]="showEmptyComponent ? 'flex' : 'none'"
#messagecontainer>
</app-empty-chat>
<app-messages class=" height-100 flex-column"
*ngIf="showMessages"
[style.display]="showMessages ? 'flex' : 'none'"
@@ -195,6 +197,7 @@
<app-new-event
[profile]=""
[roomId]="groupRoomId"
[selectedSegment]=segment
[taskParticipants]="taskParticipants"
[taskParticipantsCc]="taskParticipantsCc"
@@ -204,7 +207,6 @@
(openAttendeesComponent)="openAttendeesComponent($event)"
(cloneAllmobileComponent)="closeNewEventComponent()"
[style.display]="showNewEvent ? 'flex' : 'none'"
[roomId]="groupRoomId"
class=" height-100 flex-column">
</app-new-event>
+4 -3
View File
@@ -330,6 +330,7 @@ export class ChatPage implements OnInit {
IsRequired: "true",
}
});
this.groupRoomId = data.roomId;
this.closeAllDesktopComponents();
if (window.innerWidth < 701) {
console.log('Mobile');
@@ -411,7 +412,7 @@ export class ChatPage implements OnInit {
getDirectMessagesDB() {
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
this.storageservice.get("rooms").then((rooms) =>{
this.userDirectMessages = rooms.sort((a, b) => {
var dateA = new Date(a._updatedAt).getTime();
var dateB = new Date(b._updatedAt).getTime();
@@ -554,7 +555,7 @@ export class ChatPage implements OnInit {
});
} */
//console.log(res.ims);
//console.log(this.userDirectMessages);
if (this.route.url != "/home/chat") {
@@ -621,7 +622,7 @@ export class ChatPage implements OnInit {
})
} else {
this.sqlservice.getAllChatRoom().then((rooms: any) => {
let roomsArray = [];
rooms.forEach(element => {
let fddf = this.isJson(element.LastMessage);
@@ -57,7 +57,7 @@
<ion-label>A conversa original mantêm-se como chat individual</ion-label>
</div>
<div class="messages-list-item-wrapper container-width-100" *ngFor="let msg of messages; let last = last" [class.messages-list-item-wrapper-active]="msg._id == selectedMsgId">
<div *ngIf="msg.t != 'r' && msg.t != 'ul' && msg.t != 'ru'" (press)="handlePress(msg._id)" class='message-container incoming-{{msg.u.username!=loggedUser.me.username}}'>
<div *ngIf="msg.t != 'r' && msg.t != 'ul' && msg.t != 'ru' && msg.msg !=''" (press)="handlePress(msg._id)" class='message-container incoming-{{msg.u.username!=loggedUser.me.username}}'>
<div class="title">
<ion-label>{{msg.u.name}}</ion-label>
<span class="time">{{showDateDuration(msg._updatedAt)}}</span>
@@ -119,6 +119,15 @@
</div>
{{last ? scrollToBottom() : ''}}
</div>
<div *ngIf="msg.file" class="info-meeting">
<div *ngIf="msg.file.type == 'application/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>
{{last ? scrollToBottom() : ''}}
</div>
</div>
</div>
<ion-fab horizontal="end" vertical="bottom" slot="fixed">
@@ -235,6 +235,37 @@
}
}
.info-meeting{
/* width: 322px; */
width: em(422px);
background: var(--chat-alert-msg-color);
text-align: center;
font-size: 13px;
color: #262420;
padding: 10px;
margin: 10px auto;
line-height: 1.2rem;
/* margin: 15px 0px 15px 0px; */
border-radius: 8px;
.info-meeting-small{
font-size: 10px;
font-style: italic;
}
.info-meeting-medium{
font-size: 12px;
}
.info-meeting-normal{
color: #0782c9;
font-weight: 700;
text-decoration: underline;
}
.info-meeting-normal:hover{
text-decoration: underline;
color: #0782c9;
}
}
ion-footer{
padding-top: 7.5px;
padding-bottom: 7.5px;
@@ -281,7 +312,7 @@
.preview-slides {
margin-top: 20%;
background: #e6e6e6;
img {
padding-top: 20px;
padding-bottom: 20px;
@@ -299,15 +330,15 @@
.image-card {
overflow: visible;
}
.image-card {
z-index: 9;
}
.backdrop {
height: 200%;
width: 100%;
background: black;
position: absolute;
z-index: 10;
}
}
@@ -22,6 +22,7 @@ import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.pag
import { ThemeService } from 'src/app/services/theme.service'
import { PreviewCameraPage } from 'src/app/modals/preview-camera/preview-camera.page';
import { ViewMediaPage } from 'src/app/modals/view-media/view-media.page';
import { ViewEventPage } from 'src/app/modals/view-event/view-event.page';
@Component({
selector: 'app-group-messages',
@@ -166,6 +167,27 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy {
this.currentPosition = scroll;
}
async goToEvent(eventId: any) {
let classs;
if (window.innerWidth < 701) {
classs = 'modal modal-desktop'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
const modal = await this.modalController.create({
component: ViewEventPage,
componentProps: {
eventId: eventId,
},
cssClass: classs,
});
await modal.present();
modal.onDidDismiss().then((res) => {
console.log(res);
});
}
ngOnDestroy() {
window.removeEventListener('scroll', this.scrollChangeCallback, true);
}
@@ -91,6 +91,15 @@
{{last ? scrollToBottom() : ''}}
</div>
</div>
<div *ngIf="msg.file" class="info-meeting">
<div *ngIf="msg.file.type == 'application/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>
{{last ? scrollToBottom() : ''}}
</div>
</div>
</div>
<ion-fab horizontal="end" vertical="bottom" slot="fixed">
@@ -190,6 +190,37 @@
}
}
.info-meeting{
/* width: 322px; */
width: em(422px);
background: var(--chat-alert-msg-color);
text-align: center;
font-size: 13px;
color: #262420;
padding: 10px;
margin: 10px auto;
line-height: 1.2rem;
/* margin: 15px 0px 15px 0px; */
border-radius: 8px;
.info-meeting-small{
font-size: 10px;
font-style: italic;
}
.info-meeting-medium{
font-size: 12px;
}
.info-meeting-normal{
color: #0782c9;
font-weight: 700;
text-decoration: underline;
}
.info-meeting-normal:hover{
text-decoration: underline;
color: #0782c9;
}
}
ion-footer{
padding-top: 7.5px;
padding-bottom: 7.5px;
+20 -1
View File
@@ -28,6 +28,7 @@ import { SqliteService } from 'src/app/services/sqlite.service';
import { elementAt } from 'rxjs-compat/operator/elementAt';
import { ViewMediaPage } from 'src/app/modals/view-media/view-media.page';
import { HttpEventType } from '@angular/common/http';
import { ViewEventPage } from 'src/app/modals/view-event/view-event.page';
const IMAGE_DIR = 'stored-images';
@@ -286,7 +287,25 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
} catch (err) { }
}
async goToEvent(eventId: any) {
let classs;
if (window.innerWidth < 701) {
classs = 'modal modal-desktop'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
const modal = await this.modalController.create({
component: ViewEventPage,
componentProps: {
eventId: eventId,
},
cssClass: classs,
});
await modal.present();
modal.onDidDismiss().then((res) => {
console.log(res);
});
}
onContentScrolled(e) {
this.startPosition = e.srcElement.scrollTop;
@@ -35,7 +35,7 @@
margin: 2.5px 0 0 5px;
display: flex;
align-items: center;
}
.right{
padding: 0!important;
@@ -68,7 +68,7 @@
margin: 1px;
}
}
.title{
font-size: 25px;
overflow: auto;
@@ -125,7 +125,7 @@ ion-button{
.bottom-content{
//width: 360px;
margin: 0 auto;
.bottom-content h3{
font-size: 16px;
margin: 0 0 0 10px;
@@ -166,7 +166,7 @@ ion-button{
display: flex;
justify-content: flex-end;
margin-bottom: 20px;
.arrow-right-icon{
width: 37px;
float: right;
@@ -182,7 +182,6 @@ ion-button{
.btn-ok, .btn-cancel, .btn-delete{
height: auto !important;
font-size: 16px !important;
font-weight: 600 !important;
width: 100% !important;
margin-bottom: 10px !important;
padding: 15px !important;
@@ -251,4 +250,4 @@ ion-button{
background-color: #e0e0e0;
padding-left: 4px;
}
}
}
@@ -84,7 +84,7 @@ ion-button{
.bottom-content{
//width: 360px;
margin: 0 auto;
.bottom-content h3{
font-size: 16px;
margin: 0 0 0 10px;
@@ -125,7 +125,7 @@ ion-button{
display: flex;
justify-content: flex-end;
margin-bottom: 20px;
.arrow-right-icon{
width: 37px;
float: right;
@@ -141,7 +141,6 @@ ion-button{
.btn-ok, .btn-cancel, .btn-delete{
height: auto !important;
font-size: 16px !important;
font-weight: 600 !important;
width: 100% !important;
margin-bottom: 10px !important;
padding: 15px !important;
@@ -210,4 +209,4 @@ ion-button{
background-color: #e0e0e0;
padding-left: 4px;
}
}
}
@@ -54,7 +54,7 @@ ion-content, .header-2, .main-content{
margin: 2.5px 0 0 5px;
display: flex;
align-items: center;
}
.right{
padding: 0!important;
@@ -87,7 +87,7 @@ ion-content, .header-2, .main-content{
margin: 1px;
}
}
.title{
font-size: 25px;
overflow: auto;
@@ -144,7 +144,7 @@ ion-button{
.bottom-content{
//width: 360px;
margin: 0 auto;
.bottom-content h3{
font-size: 16px;
margin: 0 0 0 10px;
@@ -185,7 +185,7 @@ ion-button{
display: flex;
justify-content: flex-end;
margin-bottom: 20px;
.arrow-right-icon{
width: 37px;
float: right;
@@ -201,7 +201,6 @@ ion-button{
.btn-ok, .btn-cancel, .btn-delete{
height: auto !important;
font-size: 16px !important;
font-weight: 600 !important;
width: 100% !important;
margin-bottom: 10px !important;
padding: 15px !important;
@@ -36,7 +36,7 @@
margin: 2.5px 0 0 5px;
display: flex;
align-items: center;
}
.right{
padding: 0!important;
@@ -69,7 +69,7 @@
margin: 1px;
}
}
.title{
font-size: 25px;
overflow: auto;
@@ -126,7 +126,7 @@ ion-button{
.bottom-content{
//width: 360px;
margin: 0 auto;
.bottom-content h3{
font-size: 16px;
margin: 0 0 0 10px;
@@ -167,7 +167,7 @@ ion-button{
display: flex;
justify-content: flex-end;
margin-bottom: 20px;
.arrow-right-icon{
width: 37px;
float: right;
@@ -183,7 +183,6 @@ ion-button{
.btn-ok, .btn-cancel, .btn-delete{
height: auto !important;
font-size: 16px !important;
font-weight: 600 !important;
width: 100% !important;
margin-bottom: 10px !important;
padding: 15px !important;
@@ -40,12 +40,12 @@ ion-menu{
float: left;
/* overflow: auto;
width: 100%; */
border-right: 1px solid #d8d8d8;
border-right: 1px solid #d8d8d8;
.upper-content{
margin-left: 40px;
font-size: 18px;
.content-location{
margin-top: 0px !important;
width: 100%;
@@ -87,10 +87,10 @@ ion-menu{
font-size: 16px;
}
}
.bottom-content{
margin: 0 auto;
.bottom-content h3{
font-size: 16px;
margin: 0 0 0 10px;
@@ -132,13 +132,6 @@ ion-menu{
display: flex;
justify-content: flex-end;
margin-bottom: 20px;
/* .arrow-right-icon{
width: 37px;
float: right;
font-size: 35px;
overflow: hidden;
} */
}
.aside-buttons{
width: 100% !important;
@@ -149,7 +142,6 @@ ion-menu{
.btn-ok, .btn-cancel, .btn-delete{
height: auto !important;
font-size: 16px !important;
font-weight: 600 !important;
width: 100% !important;
margin-bottom: 10px !important;
padding: 15px !important;
@@ -183,7 +183,6 @@ ion-button{
.btn-ok, .btn-cancel, .btn-delete{
height: auto !important;
font-size: 16px !important;
font-weight: 600 !important;
width: 100% !important;
margin-bottom: 10px !important;
padding: 15px !important;
@@ -37,7 +37,7 @@
margin: 2.5px 0 0 5px;
display: flex;
align-items: center;
}
.right{
padding: 0!important;
@@ -70,7 +70,7 @@
margin: 1px;
}
}
.title{
font-size: 25px;
overflow: auto;
@@ -124,7 +124,7 @@ ion-button{
.bottom-content{
//width: 360px;
margin: 0 auto;
.bottom-content h3{
font-size: 16px;
margin: 0 0 0 10px;
@@ -165,7 +165,7 @@ ion-button{
display: flex;
justify-content: flex-end;
margin-bottom: 20px;
.arrow-right-icon{
width: 37px;
float: right;
@@ -181,7 +181,6 @@ ion-button{
.btn-ok, .btn-cancel, .btn-delete{
height: auto !important;
font-size: 16px !important;
font-weight: 600 !important;
width: 100% !important;
margin-bottom: 10px !important;
padding: 15px !important;
@@ -90,7 +90,7 @@ ion-button{
.bottom-content{
//width: 360px;
margin: 0 auto;
.bottom-content h3{
font-size: 16px;
margin: 0 0 0 10px;
@@ -131,7 +131,7 @@ ion-button{
display: flex;
justify-content: flex-end;
margin-bottom: 20px;
.arrow-right-icon{
width: 37px;
float: right;
@@ -147,7 +147,6 @@ ion-button{
.btn-ok, .btn-cancel, .btn-delete{
height: auto !important;
font-size: 16px !important;
font-weight: 600 !important;
width: 100% !important;
margin-bottom: 10px !important;
padding: 15px !important;