From a69f8563e804d72123d2018715948105ca7b73ad Mon Sep 17 00:00:00 2001 From: Marcin Kurczewski <mkurczew@gmail.com> Date: Fri, 29 May 2015 16:51:15 +0200 Subject: [PATCH] Fixed prev/next button behavior in pager --- public_html/js/Presenters/PagerPresenter.js | 37 +++++++++++---------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/public_html/js/Presenters/PagerPresenter.js b/public_html/js/Presenters/PagerPresenter.js index eda3abcd..261afb4e 100644 --- a/public_html/js/Presenters/PagerPresenter.js +++ b/public_html/js/Presenters/PagerPresenter.js @@ -62,16 +62,8 @@ App.Presenters.PagerPresenter = function( .fail(loaded); if (!endlessScroll) { - keyboard.keydown('a', function() { - if (pager.prevPage()) { - syncUrl({page: pager.getPage()}); - } - }); - keyboard.keydown('d', function() { - if (pager.nextPage()) { - syncUrl({page: pager.getPage()}); - } - }); + keyboard.keydown('a', navigateToPrevPage); + keyboard.keydown('d', navigateToNextPage); } } @@ -183,6 +175,19 @@ App.Presenters.PagerPresenter = function( $pageList.hide(); } + function navigateToPrevPage() { + console.log('!'); + if (pager.prevPage()) { + syncUrl({page: pager.getPage()}); + } + } + + function navigateToNextPage() { + if (pager.nextPage()) { + syncUrl({page: pager.getPage()}); + } + } + function refreshPageList() { var $lastItem = $pageList.find('li:last-child'); var currentPage = pager.getPage(); @@ -208,17 +213,13 @@ App.Presenters.PagerPresenter = function( jQuery('<li class="page"/>').append($a).insertBefore($lastItem); }); - $pageList.find('li.next a').click(function(e) { + $pageList.find('li.next a').unbind('click').bind('click', function(e) { e.preventDefault(); - if (currentPage + 1 < pages.length) { - syncUrl({page: currentPage + 1}); - } + navigateToNextPage(); }); - $pageList.find('li.prev a').click(function(e) { + $pageList.find('li.prev a').unbind('click').bind('click', function(e) { e.preventDefault(); - if (currentPage - 1 >= 1) { - syncUrl({page: currentPage - 1}); - } + navigateToPrevPage(); }); }