Fixed focus scroll problem
This commit is contained in:
parent
89cc789487
commit
351875cda4
@ -1165,10 +1165,10 @@ angular.module('myApp.controllers', ['myApp.i18n'])
|
||||
|
||||
|
||||
$scope.state.mayBeHasMore = true;
|
||||
console.log(dT(), 'start load history', $scope.curDialog);
|
||||
// console.log(dT(), 'start load history', $scope.curDialog);
|
||||
getMessagesPromise.then(function (historyResult) {
|
||||
if (curJump != jump) return;
|
||||
console.log(dT(), 'history loaded', historyResult);
|
||||
// console.log(dT(), 'history loaded', historyResult);
|
||||
|
||||
var fetchedLength = historyResult.history.length;
|
||||
|
||||
@ -1401,6 +1401,9 @@ angular.module('myApp.controllers', ['myApp.i18n'])
|
||||
}
|
||||
return;
|
||||
}
|
||||
if ($scope.curDialog.messageID && addedMessage.my) {
|
||||
returnToRecent();
|
||||
}
|
||||
delete $scope.state.empty;
|
||||
}
|
||||
// console.log('append', addedMessage);
|
||||
|
@ -888,7 +888,7 @@ angular.module('myApp.directives', ['myApp.filters'])
|
||||
if (options.idleScroll) {
|
||||
onContentLoaded(function () {
|
||||
$(historyWrap).nanoScroller();
|
||||
changeScroll();
|
||||
changeScroll(true);
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -929,11 +929,12 @@ angular.module('myApp.directives', ['myApp.filters'])
|
||||
});
|
||||
});
|
||||
|
||||
function changeScroll () {
|
||||
function changeScroll (noFocus) {
|
||||
var unreadSplit, focusMessage;
|
||||
|
||||
// console.trace('change scroll');
|
||||
if (focusMessage = $('.im_message_focus:visible', scrollableWrap)[0]) {
|
||||
if (!noFocus &&
|
||||
(focusMessage = $('.im_message_focus:visible', scrollableWrap)[0])) {
|
||||
var ch = scrollableWrap.clientHeight,
|
||||
st = scrollableWrap.scrollTop,
|
||||
ot = focusMessage.offsetTop,
|
||||
@ -979,6 +980,7 @@ angular.module('myApp.directives', ['myApp.filters'])
|
||||
|
||||
$scope.$on('ui_history_focus', function () {
|
||||
if (!atBottom) {
|
||||
// console.log(dT(), 'scroll history focus');
|
||||
scrollableWrap.scrollTop = scrollableWrap.scrollHeight;
|
||||
updateScroller();
|
||||
atBottom = true;
|
||||
@ -1124,6 +1126,7 @@ angular.module('myApp.directives', ['myApp.filters'])
|
||||
if (heightOnly === true) return;
|
||||
if (atBottom) {
|
||||
onContentLoaded(function () {
|
||||
// console.log('change scroll bottom');
|
||||
scrollableWrap.scrollTop = scrollableWrap.scrollHeight;
|
||||
updateScroller();
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user