From 282a2338d883c33fcacdc4ce24922fbab0411f90 Mon Sep 17 00:00:00 2001 From: Zixaphir Date: Thu, 20 Mar 2014 09:55:32 -0700 Subject: [PATCH] One more thing from master branch --- builds/4chan-X.user.js | 37 ++++++++++++++++++++++++++----------- builds/crx/script.js | 37 ++++++++++++++++++++++++++----------- src/General/Navigate.coffee | 35 ++++++++++++++++++++++++----------- 3 files changed, 76 insertions(+), 33 deletions(-) diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index 465ec9d82..032d3fd8d 100644 --- a/builds/4chan-X.user.js +++ b/builds/4chan-X.user.js @@ -12640,13 +12640,32 @@ } return $('.boardTitle').textContent = d.title = "/" + board + "/ - " + title; }, + setMode: function(a) { + var indexMode, indexSort, result, _ref; + _ref = a.dataset, indexMode = _ref.indexMode, indexSort = _ref.indexSort; + result = false; + if (indexMode && Conf['Index Mode'] !== indexMode) { + $.set('Index Mode', Conf['Index Mode'] = Index.selectMode.value = indexMode); + Index.cb.mode(); + result = true; + } + if (indexSort && Conf['Index Sort'] !== indexSort) { + $.set('Index Sort', Conf['Index Sort'] = Index.selectSort.value = indexSort); + Index.cb.sort(); + result = true; + } + return result; + }, navigate: function(e) { - var boardID, indexMode, indexSort, load, pageNum, path, threadID, view, _, _ref, _ref1; + var boardID, load, pageNum, path, threadID, view, _, _ref; if (this.hostname !== 'boards.4chan.org' || window.location.hostname === 'rs.4chan.org') { return; } if (e) { if (e.shiftKey || e.ctrlKey || (e.type === 'click' && e.button !== 0)) { + if ((e != null ? e.button : void 0) !== 2) { + Navigate.setMode(this); + } return; } } @@ -12655,7 +12674,11 @@ ThreadUpdater.update(); } else { if (!Index.searchTest()) { - Index.update(); + if (Navigate.setMode(this)) { + Index.buildIndex(); + } else { + Index.update(); + } } } if (e != null) { @@ -12692,15 +12715,7 @@ history.pushState(null, '', path); } Navigate.path = this.pathname; - _ref1 = this.dataset, indexMode = _ref1.indexMode, indexSort = _ref1.indexSort; - if (indexMode && Conf['Index Mode'] !== indexMode) { - $.set('Index Mode', Conf['Index Mode'] = Index.selectMode.value = indexMode); - Index.cb.mode(); - } - if (indexSort && Conf['Index Sort'] !== indexSort) { - $.set('Index Sort', Conf['Index Sort'] = Index.selectSort.value = indexSort); - Index.cb.sort(); - } + Navigate.setMode(this); if (!(view === 'index' && 'index' === g.VIEW && boardID === g.BOARD.ID)) { Navigate.disconnect(); Navigate.updateContext(view); diff --git a/builds/crx/script.js b/builds/crx/script.js index 3ff171db4..fdc57dd55 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -12659,13 +12659,32 @@ } return $('.boardTitle').textContent = d.title = "/" + board + "/ - " + title; }, + setMode: function(a) { + var indexMode, indexSort, result, _ref; + _ref = a.dataset, indexMode = _ref.indexMode, indexSort = _ref.indexSort; + result = false; + if (indexMode && Conf['Index Mode'] !== indexMode) { + $.set('Index Mode', Conf['Index Mode'] = Index.selectMode.value = indexMode); + Index.cb.mode(); + result = true; + } + if (indexSort && Conf['Index Sort'] !== indexSort) { + $.set('Index Sort', Conf['Index Sort'] = Index.selectSort.value = indexSort); + Index.cb.sort(); + result = true; + } + return result; + }, navigate: function(e) { - var boardID, indexMode, indexSort, load, pageNum, path, threadID, view, _, _ref, _ref1; + var boardID, load, pageNum, path, threadID, view, _, _ref; if (this.hostname !== 'boards.4chan.org' || window.location.hostname === 'rs.4chan.org') { return; } if (e) { if (e.shiftKey || e.ctrlKey || (e.type === 'click' && e.button !== 0)) { + if ((e != null ? e.button : void 0) !== 2) { + Navigate.setMode(this); + } return; } } @@ -12674,7 +12693,11 @@ ThreadUpdater.update(); } else { if (!Index.searchTest()) { - Index.update(); + if (Navigate.setMode(this)) { + Index.buildIndex(); + } else { + Index.update(); + } } } if (e != null) { @@ -12711,15 +12734,7 @@ history.pushState(null, '', path); } Navigate.path = this.pathname; - _ref1 = this.dataset, indexMode = _ref1.indexMode, indexSort = _ref1.indexSort; - if (indexMode && Conf['Index Mode'] !== indexMode) { - $.set('Index Mode', Conf['Index Mode'] = Index.selectMode.value = indexMode); - Index.cb.mode(); - } - if (indexSort && Conf['Index Sort'] !== indexSort) { - $.set('Index Sort', Conf['Index Sort'] = Index.selectSort.value = indexSort); - Index.cb.sort(); - } + Navigate.setMode(this); if (!(view === 'index' && 'index' === g.VIEW && boardID === g.BOARD.ID)) { Navigate.disconnect(); Navigate.updateContext(view); diff --git a/src/General/Navigate.coffee b/src/General/Navigate.coffee index e06d89c32..b21dd16fd 100644 --- a/src/General/Navigate.coffee +++ b/src/General/Navigate.coffee @@ -179,17 +179,37 @@ Navigate = $.rm subtitle if subtitle = $ '.boardSubtitle' $('.boardTitle').textContent = d.title = "/#{board}/ - #{title}" + setMode: (a) -> + {indexMode, indexSort} = a.dataset + result = false + if indexMode and Conf['Index Mode'] isnt indexMode + $.set 'Index Mode', Conf['Index Mode'] = Index.selectMode.value = indexMode + Index.cb.mode() + result = true + + if indexSort and Conf['Index Sort'] isnt indexSort + $.set 'Index Sort', Conf['Index Sort'] = Index.selectSort.value = indexSort + Index.cb.sort() + result = true + + return result + navigate: (e) -> return if @hostname isnt 'boards.4chan.org' or window.location.hostname is 'rs.4chan.org' - if e - return if e.shiftKey or e.ctrlKey or (e.type is 'click' and e.button isnt 0) # Not simply a left click + if e + if e.shiftKey or e.ctrlKey or (e.type is 'click' and e.button isnt 0) # Not simply a left click + Navigate.setMode @ unless e?.button is 2 # Right Click + return if @pathname is Navigate.path if g.VIEW is 'thread' ThreadUpdater.update() else unless Index.searchTest() - Index.update() + if Navigate.setMode @ + Index.buildIndex() + else + Index.update() e?.preventDefault() return @@ -219,14 +239,7 @@ Navigate = history.pushState null, '', path unless @id is 'popState' Navigate.path = @pathname - {indexMode, indexSort} = @dataset - if indexMode and Conf['Index Mode'] isnt indexMode - $.set 'Index Mode', Conf['Index Mode'] = Index.selectMode.value = indexMode - Index.cb.mode() - - if indexSort and Conf['Index Sort'] isnt indexSort - $.set 'Index Sort', Conf['Index Sort'] = Index.selectSort.value = indexSort - Index.cb.sort() + Navigate.setMode @ unless view is 'index' and 'index' is g.VIEW and boardID is g.BOARD.ID Navigate.disconnect()