From d2311ab805f8282f239359eef4d01dc6945304c2 Mon Sep 17 00:00:00 2001 From: Zixaphir Date: Thu, 9 Jan 2014 11:00:08 -0700 Subject: [PATCH] Break up some stuff, address a few small issues --- builds/4chan-X.user.js | 102 +++++++++++++++++++++------------------- builds/crx/script.js | 91 ++++++++++++++++++----------------- src/General/Main.coffee | 63 +++++++++++++------------ 3 files changed, 134 insertions(+), 122 deletions(-) diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index 2681a6ceb..1c5127524 100644 --- a/builds/4chan-X.user.js +++ b/builds/4chan-X.user.js @@ -12477,7 +12477,7 @@ }); }, initReady: function() { - var GMver, err, errors, href, i, passLink, post, postRoot, posts, styleSelector, thread, threadRoot, v, _i, _j, _len, _len1, _ref, _ref1, _ref2; + var GMver, err, href, i, passLink, styleSelector, v, _i, _len, _ref, _ref1; if ((_ref = d.title) === '4chan - Temporarily Offline' || _ref === '4chan - 404 Not Found') { if (Conf['404 Redirect'] && g.VIEW === 'thread') { href = Redirect.to('thread', { @@ -12490,66 +12490,70 @@ return; } Main.initStyle(); - if (g.VIEW === 'thread' && (threadRoot = $('.thread'))) { - thread = new Thread(+threadRoot.id.slice(1), g.BOARD); - posts = []; - _ref1 = $$('.thread > .postContainer', threadRoot); - for (_i = 0, _len = _ref1.length; _i < _len; _i++) { - postRoot = _ref1[_i]; - try { - posts.push(post = new Post(postRoot, thread, g.BOARD, { - isOriginalMarkup: true - })); - } catch (_error) { - err = _error; - if (!errors) { - errors = []; - } - errors.push({ - message: "Parsing of Post No." + (postRoot.id.match(/\d+/)) + " failed. Post will be skipped.", - error: err - }); - } - } - if (errors) { - Main.handleErrors(errors); - } - Main.callbackNodes(Thread, [thread]); - Main.callbackNodesDB(Post, posts, function() { - return $.event('4chanXInitFinished'); + if (g.VIEW === 'thread') { + Main.initThread(); + } else { + $.event('4chanXInitFinished'); + } + if (styleSelector = $.id('styleSelector')) { + passLink = $.el('a', { + textContent: '4chan Pass', + href: 'javascript:;' }); - if (styleSelector = $.id('styleSelector')) { - passLink = $.el('a', { - textContent: '4chan Pass', - href: 'javascript:;' - }); - $.on(passLink, 'click', function() { - return window.open('//sys.4chan.org/auth', 'This will steal your data.', 'left=0,top=0,width=500,height=255,toolbar=0,resizable=0'); - }); - $.before(styleSelector.previousSibling, [$.tn('['), passLink, $.tn(']\u00A0\u00A0')]); - } - return; + $.on(passLink, 'click', function() { + return window.open('//sys.4chan.org/auth', 'This will steal your data.', 'left=0,top=0,width=500,height=255,toolbar=0,resizable=0'); + }); + $.before(styleSelector.previousSibling, [$.tn('['), passLink, $.tn(']\u00A0\u00A0')]); } GMver = GM_info.version.split('.'); - _ref2 = "1.13".split('.'); - for (i = _j = 0, _len1 = _ref2.length; _j < _len1; i = ++_j) { - v = _ref2[i]; - if (v < GMver[i]) { - break; - } + _ref1 = "1.13".split('.'); + for (i = _i = 0, _len = _ref1.length; _i < _len; i = ++_i) { + v = _ref1[i]; if (v === GMver[i]) { continue; } - new Notice('warning', "Your version of Greasemonkey is outdated (v" + GM_info.version + " instead of v1.13 minimum) and 4chan X may not operate correctly.", 30); + (v < GMver[i]) || new Notice('warning', "Your version of Greasemonkey is outdated (v" + GM_info.version + " instead of v1.13 minimum) and 4chan X may not operate correctly.", 30); break; } try { - localStorage.getItem('4chan-settings'); + return localStorage.getItem('4chan-settings'); } catch (_error) { err = _error; - new Notice('warning', 'Cookies need to be enabled on 4chan for 4chan X to operate properly.', 30); + return new Notice('warning', 'Cookies need to be enabled on 4chan for 4chan X to operate properly.', 30); } - return $.event('4chanXInitFinished'); + }, + initThread: function() { + var err, errors, postRoot, posts, thread, threadRoot, _i, _len, _ref; + if (!(threadRoot = $('.thread'))) { + return; + } + thread = new Thread(+threadRoot.id.slice(1), g.BOARD); + posts = []; + _ref = $$('.thread > .postContainer', threadRoot); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + postRoot = _ref[_i]; + try { + posts.push(new Post(postRoot, thread, g.BOARD, { + isOriginalMarkup: true + })); + } catch (_error) { + err = _error; + if (!errors) { + errors = []; + } + errors.push({ + message: "Parsing of Post No." + (postRoot.id.match(/\d+/)) + " failed. Post will be skipped.", + error: err + }); + } + } + if (errors) { + Main.handleErrors(errors); + } + Main.callbackNodes(Thread, [thread]); + return Main.callbackNodesDB(Post, posts, function() { + return $.event('4chanXInitFinished'); + }); }, callbackNodes: function(klass, nodes) { var cb, i, node; diff --git a/builds/crx/script.js b/builds/crx/script.js index f478b7fa6..27e2e862c 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -12464,7 +12464,7 @@ }); }, initReady: function() { - var err, errors, href, passLink, post, postRoot, posts, styleSelector, thread, threadRoot, _i, _len, _ref, _ref1; + var err, href, passLink, styleSelector, _ref; if ((_ref = d.title) === '4chan - Temporarily Offline' || _ref === '4chan - 404 Not Found') { if (Conf['404 Redirect'] && g.VIEW === 'thread') { href = Redirect.to('thread', { @@ -12477,53 +12477,60 @@ return; } Main.initStyle(); - if (g.VIEW === 'thread' && (threadRoot = $('.thread'))) { - thread = new Thread(+threadRoot.id.slice(1), g.BOARD); - posts = []; - _ref1 = $$('.thread > .postContainer', threadRoot); - for (_i = 0, _len = _ref1.length; _i < _len; _i++) { - postRoot = _ref1[_i]; - try { - posts.push(post = new Post(postRoot, thread, g.BOARD, { - isOriginalMarkup: true - })); - } catch (_error) { - err = _error; - if (!errors) { - errors = []; - } - errors.push({ - message: "Parsing of Post No." + (postRoot.id.match(/\d+/)) + " failed. Post will be skipped.", - error: err - }); - } - } - if (errors) { - Main.handleErrors(errors); - } - Main.callbackNodes(Thread, [thread]); - Main.callbackNodesDB(Post, posts, function() { - return $.event('4chanXInitFinished'); + if (g.VIEW === 'thread') { + Main.initThread(); + } else { + $.event('4chanXInitFinished'); + } + if (styleSelector = $.id('styleSelector')) { + passLink = $.el('a', { + textContent: '4chan Pass', + href: 'javascript:;' }); - if (styleSelector = $.id('styleSelector')) { - passLink = $.el('a', { - textContent: '4chan Pass', - href: 'javascript:;' - }); - $.on(passLink, 'click', function() { - return window.open('//sys.4chan.org/auth', 'This will steal your data.', 'left=0,top=0,width=500,height=255,toolbar=0,resizable=0'); - }); - $.before(styleSelector.previousSibling, [$.tn('['), passLink, $.tn(']\u00A0\u00A0')]); - } - return; + $.on(passLink, 'click', function() { + return window.open('//sys.4chan.org/auth', 'This will steal your data.', 'left=0,top=0,width=500,height=255,toolbar=0,resizable=0'); + }); + $.before(styleSelector.previousSibling, [$.tn('['), passLink, $.tn(']\u00A0\u00A0')]); } try { - localStorage.getItem('4chan-settings'); + return localStorage.getItem('4chan-settings'); } catch (_error) { err = _error; - new Notice('warning', 'Cookies need to be enabled on 4chan for 4chan X to operate properly.', 30); + return new Notice('warning', 'Cookies need to be enabled on 4chan for 4chan X to operate properly.', 30); } - return $.event('4chanXInitFinished'); + }, + initThread: function() { + var err, errors, postRoot, posts, thread, threadRoot, _i, _len, _ref; + if (!(threadRoot = $('.thread'))) { + return; + } + thread = new Thread(+threadRoot.id.slice(1), g.BOARD); + posts = []; + _ref = $$('.thread > .postContainer', threadRoot); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + postRoot = _ref[_i]; + try { + posts.push(new Post(postRoot, thread, g.BOARD, { + isOriginalMarkup: true + })); + } catch (_error) { + err = _error; + if (!errors) { + errors = []; + } + errors.push({ + message: "Parsing of Post No." + (postRoot.id.match(/\d+/)) + " failed. Post will be skipped.", + error: err + }); + } + } + if (errors) { + Main.handleErrors(errors); + } + Main.callbackNodes(Thread, [thread]); + return Main.callbackNodesDB(Post, posts, function() { + return $.event('4chanXInitFinished'); + }); }, callbackNodes: function(klass, nodes) { var cb, i, node; diff --git a/src/General/Main.coffee b/src/General/Main.coffee index e50d063f4..f97e225eb 100755 --- a/src/General/Main.coffee +++ b/src/General/Main.coffee @@ -182,42 +182,26 @@ Main = # Something might have gone wrong! Main.initStyle() - if g.VIEW is 'thread' and threadRoot = $ '.thread' - thread = new Thread +threadRoot.id[1..], g.BOARD - posts = [] - for postRoot in $$ '.thread > .postContainer', threadRoot - try - posts.push post = new Post postRoot, thread, g.BOARD, {isOriginalMarkup: true} - catch err - # Skip posts that we failed to parse. - errors = [] unless errors - errors.push - message: "Parsing of Post No.#{postRoot.id.match /\d+/} failed. Post will be skipped." - error: err - Main.handleErrors errors if errors + if g.VIEW is 'thread' + Main.initThread() + else + $.event '4chanXInitFinished' - Main.callbackNodes Thread, [thread] - Main.callbackNodesDB Post, posts, -> - $.event '4chanXInitFinished' - - if styleSelector = $.id 'styleSelector' - passLink = $.el 'a', - textContent: '4chan Pass' - href: 'javascript:;' - $.on passLink, 'click', -> - window.open '//sys.4chan.org/auth', - 'This will steal your data.' - 'left=0,top=0,width=500,height=255,toolbar=0,resizable=0' - $.before styleSelector.previousSibling, [$.tn '['; passLink, $.tn ']\u00A0\u00A0'] - - return + if styleSelector = $.id 'styleSelector' + passLink = $.el 'a', + textContent: '4chan Pass' + href: 'javascript:;' + $.on passLink, 'click', -> + window.open '//sys.4chan.org/auth', + 'This will steal your data.' + 'left=0,top=0,width=500,height=255,toolbar=0,resizable=0' + $.before styleSelector.previousSibling, [$.tn '['; passLink, $.tn ']\u00A0\u00A0'] <% if (type === 'userscript') { %> GMver = GM_info.version.split '.' for v, i in "<%= meta.min.greasemonkey %>".split '.' - break if v < GMver[i] continue if v is GMver[i] - new Notice 'warning', "Your version of Greasemonkey is outdated (v#{GM_info.version} instead of v<%= meta.min.greasemonkey %> minimum) and <%= meta.name %> may not operate correctly.", 30 + (v < GMver[i]) or new Notice 'warning', "Your version of Greasemonkey is outdated (v#{GM_info.version} instead of v<%= meta.min.greasemonkey %> minimum) and <%= meta.name %> may not operate correctly.", 30 break <% } %> @@ -226,7 +210,24 @@ Main = catch err new Notice 'warning', 'Cookies need to be enabled on 4chan for <%= meta.name %> to operate properly.', 30 - $.event '4chanXInitFinished' + initThread: -> + return unless threadRoot = $ '.thread' + thread = new Thread +threadRoot.id[1..], g.BOARD + posts = [] + for postRoot in $$ '.thread > .postContainer', threadRoot + try + posts.push new Post postRoot, thread, g.BOARD, {isOriginalMarkup: true} + catch err + # Skip posts that we failed to parse. + errors = [] unless errors + errors.push + message: "Parsing of Post No.#{postRoot.id.match /\d+/} failed. Post will be skipped." + error: err + Main.handleErrors errors if errors + + Main.callbackNodes Thread, [thread] + Main.callbackNodesDB Post, posts, -> + $.event '4chanXInitFinished' callbackNodes: (klass, nodes) -> i = 0