diff --git a/src/app/pages/chat/group-messages/group-messages.page.html b/src/app/pages/chat/group-messages/group-messages.page.html index 277f1c5d3..17c526c67 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.html +++ b/src/app/pages/chat/group-messages/group-messages.page.html @@ -99,6 +99,11 @@ + + + + + + diff --git a/src/app/shared/chat/group-messages/group-messages.page.ts b/src/app/shared/chat/group-messages/group-messages.page.ts index acd1760d4..56849526b 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.ts +++ b/src/app/shared/chat/group-messages/group-messages.page.ts @@ -54,6 +54,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe private scrollChangeCallback: () => void; currentPosition: any; startPosition: number; + scrollToBottomBtn = false; @Input() roomId:string; @Output() closeAllDesktopComponents:EventEmitter = new EventEmitter(); @@ -158,20 +159,35 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe } catch(err) { } } + scrollToBottomClicked(): void { + try { + this.myScrollContainer.nativeElement.scrollTop = this.myScrollContainer.nativeElement.scrollHeight; + } catch(err) { } + } + ngAfterViewInit() { this.scrollChangeCallback = () => this.onContentScrolled(event); window.addEventListener('scroll', this.scrollChangeCallback, true); } - onContentScrolled(e) { + onContentScrolled(e) { this.startPosition = e.srcElement.scrollTop; let scroll = e.srcElement.scrollTop; + let windowHeight = e.srcElement.scrollHeight; + let containerHeight = windowHeight - e.srcElement.clientHeight; + if (scroll > this.currentPosition) { - //this.showButton = false; + //alert('BOTTOM'); } else { - //this.showButton = true; + //alert('UP'); this.scrollingOnce = false; } + if((containerHeight - 100) > scroll){ + this.scrollToBottomBtn = true; + } + else{ + this.scrollToBottomBtn = false; + } this.currentPosition = scroll; } diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index 6727cbe35..6ef6bbcb5 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -31,8 +31,18 @@
-
-
+
+
+
+ + + + +
{{msg.u.name}} {{showDateDuration(msg._updatedAt)}} @@ -69,6 +79,22 @@
+ + + + + + diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index e63dca9bf..1165e1524 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -50,6 +50,8 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy private scrollChangeCallback: () => void; currentPosition: any; startPosition: number; + mesageItemDropdownOptions: boolean = false; + scrollToBottomBtn = false; constructor( public popoverController: PopoverController, @@ -122,6 +124,13 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy } catch(err) { } } + scrollToBottomClicked(): void { + try { + this.myScrollContainer.nativeElement.scrollTop = this.myScrollContainer.nativeElement.scrollHeight; + //this.scrollingOnce = false; + } catch(err) { } + } + ngAfterViewInit() { this.scrollChangeCallback = () => this.onContentScrolled(event); window.addEventListener('scroll', this.scrollChangeCallback, true); @@ -130,17 +139,26 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy onContentScrolled(e) { this.startPosition = e.srcElement.scrollTop; let scroll = e.srcElement.scrollTop; + let windowHeight = e.srcElement.scrollHeight; + let containerHeight = windowHeight - e.srcElement.clientHeight; + console.log(containerHeight); + console.log(e.srcElement.clientHeight); + + + if (scroll > this.currentPosition) { - //this.showButton = false; //alert('BOTTOM'); } else { - //this.showButton = true; //alert('UP'); this.scrollingOnce = false; } + if((containerHeight - 100) > scroll){ + this.scrollToBottomBtn = true; + } + else{ + this.scrollToBottomBtn = false; + } this.currentPosition = scroll; - /* console.log(this.currentPosition); - console.log(this.scrollingOnce); */ } ngOnDestroy() { diff --git a/src/global.scss b/src/global.scss index 1b1a38085..65fdb383e 100644 --- a/src/global.scss +++ b/src/global.scss @@ -1072,6 +1072,46 @@ ngx-mat-datetime-content{ } } +.messages{ + .messages-list-item-wrapper{ + .message-item{ + .message-item-options{ + .message-options-icon{ + display: none; + padding-left: 10px; + padding-right: 0px; + position: absolute; + //background-color: red; + + //box-shadow: rgba(0, 30, 0, 0.15) 1.95px 1.95px 2.6px; + } + .mesage-item-dropdown-options{ + display: none; + margin-top: 15px; + position: absolute; + border: 1px solid red; + } + } + + .title{ + //border: 1px solid blue; + } + } + .incoming-true:hover{ + .message-options-icon{ + display: block; + background-color: #ebebeb; + } + } + .incoming-false:hover{ + .message-options-icon{ + display: block; + background-color: #e4f4fe; + } + } + } +} + .message-attachments{ border-radius: 5px; background-color: #42b9fe13;