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