From 9d45b0e5c5fc96e9416642f3dde8760a1250eafa Mon Sep 17 00:00:00 2001 From: Zixaphir Date: Tue, 13 Jan 2015 10:12:49 -0700 Subject: [PATCH] Fix Navigate.navigate click event being applied to every anchor ... on the entire page. Thanks #boardNavDesktopFoot. --- builds/appchan-x.user.js | 19 +++++++++++-------- builds/crx/script.js | 19 +++++++++++-------- src/General/Header.coffee | 5 +++-- src/General/Index.coffee | 6 +++--- src/General/Navigate.coffee | 2 +- 5 files changed, 29 insertions(+), 22 deletions(-) diff --git a/builds/appchan-x.user.js b/builds/appchan-x.user.js index 3bcf49bc2..9c5c46774 100644 --- a/builds/appchan-x.user.js +++ b/builds/appchan-x.user.js @@ -4388,7 +4388,7 @@ Header = { init: function() { - var barFixedToggler, barPositionToggler, box, customNavToggler, editCustomNav, headerToggler, menuButton, scrollHeaderToggler; + var barFixedToggler, barPositionToggler, box, customNavToggler, editCustomNav, footer, headerToggler, menuButton, scrollHeaderToggler; this.menu = new UI.Menu('header'); menuButton = $.el('a', { className: 'menu-button a-icon', @@ -4464,9 +4464,12 @@ return _this.setBarPosition(Conf['Bottom Header']); }; })(this)); - return $.ready(function() { - var a, footer, _i, _len, _ref, _results; - if (a = $("a[href*='/" + g.BOARD + "/']", footer = $.id('boardNavDesktopFoot'))) { + footer = null; + return $.asap((function() { + return footer = $.id('boardNavDesktopFoot'); + }), function() { + var a, _i, _len, _ref, _results; + if (a = $("a[href*='/" + g.BOARD + "/']", footer)) { a.className = 'current'; } if (Conf['JSON Navigation']) { @@ -5965,10 +5968,10 @@ switch (Conf['Index Mode']) { case 'paged': case 'infinite': - pageNum = Index.getCurrentPage() - 1; + pageNum = Index.getCurrentPage(); threadsPerPage = Index.getThreadsNumPerPage(); threads = []; - i = threadsPerPage * pageNum; + i = threadsPerPage * (pageNum - 1); max = i + threadsPerPage; while (i < max && (thread = sortedThreads[i++])) { threads.push(thread); @@ -5976,7 +5979,7 @@ Index.buildReplies(thread); } Index.buildPagelist(); - Index.setPage(); + Index.setPage(pageNum); break; case 'catalog': nodes = Index.buildCatalogViews(); @@ -18476,7 +18479,7 @@ if (!(g.VIEW === 'thread' && this.thread.ID === g.THREADID)) { $.on($('a[title="Link to this post"]', this.nodes.info), 'click', Navigate.navigate); } - if (!(linktype = Conf['Quote Inlining'] && Conf['Quote Hash Navigation'] ? '.hashlink' : !Conf['Quote Inlining'] ? '.quotelink' : null)) { + if (!(linktype = Conf['Quote Inlining'] && Conf['Quote Hash Navigation'] ? '.hashlink' : !Conf['Quote Inlining'] ? '.quotelink' : false)) { return; } return Navigate.quoteLink($$(linktype, this.nodes.comment)); diff --git a/builds/crx/script.js b/builds/crx/script.js index 2e1beb527..692123a41 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -4406,7 +4406,7 @@ Header = { init: function() { - var barFixedToggler, barPositionToggler, box, customNavToggler, editCustomNav, headerToggler, menuButton, scrollHeaderToggler; + var barFixedToggler, barPositionToggler, box, customNavToggler, editCustomNav, footer, headerToggler, menuButton, scrollHeaderToggler; this.menu = new UI.Menu('header'); menuButton = $.el('a', { className: 'menu-button a-icon', @@ -4482,9 +4482,12 @@ return _this.setBarPosition(Conf['Bottom Header']); }; })(this)); - return $.ready(function() { - var a, footer, _i, _len, _ref, _results; - if (a = $("a[href*='/" + g.BOARD + "/']", footer = $.id('boardNavDesktopFoot'))) { + footer = null; + return $.asap((function() { + return footer = $.id('boardNavDesktopFoot'); + }), function() { + var a, _i, _len, _ref, _results; + if (a = $("a[href*='/" + g.BOARD + "/']", footer)) { a.className = 'current'; } if (Conf['JSON Navigation']) { @@ -5983,10 +5986,10 @@ switch (Conf['Index Mode']) { case 'paged': case 'infinite': - pageNum = Index.getCurrentPage() - 1; + pageNum = Index.getCurrentPage(); threadsPerPage = Index.getThreadsNumPerPage(); threads = []; - i = threadsPerPage * pageNum; + i = threadsPerPage * (pageNum - 1); max = i + threadsPerPage; while (i < max && (thread = sortedThreads[i++])) { threads.push(thread); @@ -5994,7 +5997,7 @@ Index.buildReplies(thread); } Index.buildPagelist(); - Index.setPage(); + Index.setPage(pageNum); break; case 'catalog': nodes = Index.buildCatalogViews(); @@ -18502,7 +18505,7 @@ if (!(g.VIEW === 'thread' && this.thread.ID === g.THREADID)) { $.on($('a[title="Link to this post"]', this.nodes.info), 'click', Navigate.navigate); } - if (!(linktype = Conf['Quote Inlining'] && Conf['Quote Hash Navigation'] ? '.hashlink' : !Conf['Quote Inlining'] ? '.quotelink' : null)) { + if (!(linktype = Conf['Quote Inlining'] && Conf['Quote Hash Navigation'] ? '.hashlink' : !Conf['Quote Inlining'] ? '.quotelink' : false)) { return; } return Navigate.quoteLink($$(linktype, this.nodes.comment)); diff --git a/src/General/Header.coffee b/src/General/Header.coffee index 39cb49843..99fb4e3ec 100644 --- a/src/General/Header.coffee +++ b/src/General/Header.coffee @@ -76,8 +76,9 @@ Header = $.add d.body, @hover @setBarPosition Conf['Bottom Header'] - $.ready -> - if a = $ "a[href*='/#{g.BOARD}/']", footer = $.id 'boardNavDesktopFoot' + footer = null + $.asap (-> footer = $.id 'boardNavDesktopFoot' ), -> + if a = $ "a[href*='/#{g.BOARD}/']", footer a.className = 'current' if Conf['JSON Navigation'] $.on a, 'click', Navigate.navigate for a in $$ 'a', footer diff --git a/src/General/Index.coffee b/src/General/Index.coffee index c5e1a3b28..7ee78be1f 100644 --- a/src/General/Index.coffee +++ b/src/General/Index.coffee @@ -790,11 +790,11 @@ Index = nodes = [] switch Conf['Index Mode'] when 'paged', 'infinite' - pageNum = Index.getCurrentPage() - 1 + pageNum = Index.getCurrentPage() threadsPerPage = Index.getThreadsNumPerPage() threads = [] - i = threadsPerPage * pageNum + i = threadsPerPage * (pageNum - 1) max = i + threadsPerPage while i < max and thread = sortedThreads[i++] threads.push thread @@ -802,7 +802,7 @@ Index = Index.buildReplies thread Index.buildPagelist() - Index.setPage() + Index.setPage pageNum when 'catalog' nodes = Index.buildCatalogViews() diff --git a/src/General/Navigate.coffee b/src/General/Navigate.coffee index 88671a429..379ba6252 100644 --- a/src/General/Navigate.coffee +++ b/src/General/Navigate.coffee @@ -46,7 +46,7 @@ Navigate = else if !Conf['Quote Inlining'] '.quotelink' else - null + false ) Navigate.quoteLink $$ linktype, @nodes.comment