From 246f5d2e2023510c963f6f8475e2605e9e3a9f16 Mon Sep 17 00:00:00 2001 From: Emmanuel ROHEE Date: Wed, 17 Sep 2014 17:12:52 +0200 Subject: [PATCH] SYWEB-30: BF: When switching between rooms, pagination flickered between the top of the room before jumping to the bottom of the page --- webclient/room/room-controller.js | 10 +++++++++- webclient/room/room.html | 5 ++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/webclient/room/room-controller.js b/webclient/room/room-controller.js index fb6ead543..de5005874 100644 --- a/webclient/room/room-controller.js +++ b/webclient/room/room-controller.js @@ -32,7 +32,8 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput']) can_paginate: false, // this is toggled off when we are not ready yet to paginate or when we run out of items paginating: false, // used to avoid concurrent pagination requests pulling in dup contents stream_failure: undefined, // the response when the stream fails - waiting_for_joined_event: false // true when the join request is pending. Back to false once the corresponding m.room.member event is received + waiting_for_joined_event: false, // true when the join request is pending. Back to false once the corresponding m.room.member event is received + messages_visibility: "hidden" // In order to avoid flickering when scrolling down the message table at the page opening, delay the message table display }; $scope.members = {}; $scope.autoCompleting = false; @@ -136,6 +137,13 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput']) $timeout(function() { objDiv.scrollTop = objDiv.scrollHeight; + + // Show the message table once the first scrolldown is done + if ("visible" !== $scope.state.messages_visibility) { + $timeout(function() { + $scope.state.messages_visibility = "visible"; + }, 0); + } }, 0); } }; diff --git a/webclient/room/room.html b/webclient/room/room.html index fc22db761..44a0e34d9 100644 --- a/webclient/room/room.html +++ b/webclient/room/room.html @@ -56,7 +56,10 @@ -
+