home/end keys for inf scroll

v1.18.x
barisusakli 10 years ago
parent c3a6b11939
commit 2e8505c66d

@ -26,6 +26,7 @@ define('forum/topic', [
app.removeAlert('bookmark'); app.removeAlert('bookmark');
events.removeListeners(); events.removeListeners();
$(window).off('keydown', onKeyDown);
} }
if (!data.url.startsWith('topic/')) { if (!data.url.startsWith('topic/')) {
@ -58,11 +59,12 @@ define('forum/topic', [
handleBookmark(tid); handleBookmark(tid);
handleKeys();
navigator.init('[component="post"]', ajaxify.data.postcount, Topic.toTop, Topic.toBottom, Topic.navigatorCallback, Topic.calculateIndex); navigator.init('[component="post"]', ajaxify.data.postcount, Topic.toTop, Topic.toBottom, Topic.navigatorCallback, Topic.calculateIndex);
$(window).on('scroll', updateTopicTitle); $(window).on('scroll', updateTopicTitle);
$(window).trigger('action:topic.loaded');
if (app.user.uid) { if (app.user.uid) {
socket.emit('topics.enter', tid, function(err, data) { socket.emit('topics.enter', tid, function(err, data) {
@ -74,8 +76,26 @@ define('forum/topic', [
} }
handleTopicSearch(); handleTopicSearch();
$(window).trigger('action:topic.loaded');
}; };
function handleKeys() {
if (!config.usePagination) {
$(window).off('keydown', onKeyDown).on('keydown', onKeyDown);
}
}
function onKeyDown(ev) {
if (ev.which === 36) { // home key
navigator.scrollTop(0);
return false;
} else if (ev.which === 35) { // end key
Topic.toBottom();
return false;
}
}
function handleTopicSearch() { function handleTopicSearch() {
require(['search', 'mousetrap'], function(search, Mousetrap) { require(['search', 'mousetrap'], function(search, Mousetrap) {
$('.topic-search') $('.topic-search')

Loading…
Cancel
Save