v1.18.x
Barış Soner Uşaklı 8 years ago
parent 1451b91fe0
commit 38806fe07f

@ -15,8 +15,8 @@ define('forum/category', [
], function (infinitescroll, share, navigator, categoryTools, sort, components, translator, topicSelect, pagination, storage) { ], function (infinitescroll, share, navigator, categoryTools, sort, components, translator, topicSelect, pagination, storage) {
var Category = {}; var Category = {};
$(window).on('action:ajaxify.start', function (ev, data) { $(window).on('action:ajaxify.end', function (ev, data) {
if (ajaxify.currentPage !== data.url) { if (data.tpl_url !== 'category') {
navigator.disable(); navigator.disable();
removeListeners(); removeListeners();
@ -113,11 +113,14 @@ define('forum/category', [
return bottomIndex; return bottomIndex;
}; };
$(window).on('action:ajaxify.contentLoaded', function () { $(window).on('action:popstate', function () {
if (ajaxify.data.template.category && ajaxify.data.cid) { if (ajaxify.data.template.category && ajaxify.data.cid) {
var bookmarkIndex = storage.getItem('category:' + ajaxify.data.cid + ':bookmark'); var bookmarkIndex = storage.getItem('category:' + ajaxify.data.cid + ':bookmark');
var clickedIndex = storage.getItem('category:' + ajaxify.data.cid + ':bookmark:clicked'); var clickedIndex = storage.getItem('category:' + ajaxify.data.cid + ':bookmark:clicked');
storage.removeItem('category:' + ajaxify.data.cid + ':bookmark');
storage.removeItem('category:' + ajaxify.data.cid + ':bookmark:clicked');
bookmarkIndex = Math.max(0, parseInt(bookmarkIndex, 10) || 0); bookmarkIndex = Math.max(0, parseInt(bookmarkIndex, 10) || 0);
clickedIndex = Math.max(0, parseInt(clickedIndex, 10) || 0); clickedIndex = Math.max(0, parseInt(clickedIndex, 10) || 0);
if (!parseInt(bookmarkIndex, 10)) { if (!parseInt(bookmarkIndex, 10)) {
@ -128,10 +131,10 @@ define('forum/category', [
var page = Math.ceil((parseInt(bookmarkIndex, 10) + 1) / config.topicsPerPage); var page = Math.ceil((parseInt(bookmarkIndex, 10) + 1) / config.topicsPerPage);
if (parseInt(page, 10) !== ajaxify.data.pagination.currentPage) { if (parseInt(page, 10) !== ajaxify.data.pagination.currentPage) {
pagination.loadPage(page, function () { pagination.loadPage(page, function () {
Category.scrollToTopic(bookmarkIndex, clickedIndex, 400); Category.scrollToTopic(bookmarkIndex, clickedIndex, 0);
}); });
} else { } else {
Category.scrollToTopic(bookmarkIndex, clickedIndex, 400); Category.scrollToTopic(bookmarkIndex, clickedIndex, 0);
} }
} else { } else {
if (bookmarkIndex === 0) { if (bookmarkIndex === 0) {

Loading…
Cancel
Save