Do not systematically scroll to the bottom on new events in the room

This commit is contained in:
Emmanuel ROHEE 2014-09-05 10:40:59 +02:00
parent 0d1d9f3e9c
commit 3bfffab201

View File

@ -54,7 +54,13 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput'])
$scope.$on(eventHandlerService.MSG_EVENT, function(ngEvent, event, isLive) { $scope.$on(eventHandlerService.MSG_EVENT, function(ngEvent, event, isLive) {
if (isLive && event.room_id === $scope.room_id) { if (isLive && event.room_id === $scope.room_id) {
// Do not autoscroll to the bottom to display this new event if the user is not at the bottom.
// Exception: if the event is from the user, scroll to the bottom
var objDiv = document.getElementById("messageTableWrapper");
if ( (objDiv.offsetHeight + objDiv.scrollTop >= objDiv.scrollHeight) || event.user_id === $scope.state.user_id) {
scrollToBottom(); scrollToBottom();
}
if (window.Notification) { if (window.Notification) {
// Show notification when the user is idle // Show notification when the user is idle