diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index 3a73e1dd4..2f3a94d25 100644 --- a/builds/4chan-X.user.js +++ b/builds/4chan-X.user.js @@ -12523,7 +12523,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, threadRoot, 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', { @@ -12537,49 +12537,12 @@ } 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 (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; + Main.initThread(threadRoot); } GMver = GM_info.version.split('.'); - _ref2 = "1.13".split('.'); - for (i = _j = 0, _len1 = _ref2.length; _j < _len1; i = ++_j) { - v = _ref2[i]; + _ref1 = "1.13".split('.'); + for (i = _i = 0, _len = _ref1.length; _i < _len; i = ++_i) { + v = _ref1[i]; if (v < GMver[i]) { break; } @@ -12596,6 +12559,46 @@ return new Notice('warning', 'Cookies need to be enabled on 4chan for 4chan X to operate properly.', 30); } }, + initThread: function(threadRoot) { + var err, errors, passLink, post, postRoot, posts, styleSelector, thread, _i, _len, _ref; + 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(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 (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'); + }); + return $.before(styleSelector.previousSibling, [$.tn('['), passLink, $.tn(']\u00A0\u00A0')]); + } + }, callbackNodes: function(klass, nodes) { var cb, i, node; i = 0; diff --git a/builds/crx/script.js b/builds/crx/script.js index eff77691c..6dee5e39c 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -12510,7 +12510,7 @@ }); }, initReady: function() { - var err, errors, href, passLink, post, postRoot, posts, styleSelector, thread, threadRoot, _i, _len, _ref, _ref1; + var err, href, threadRoot, _ref; if ((_ref = d.title) === '4chan - Temporarily Offline' || _ref === '4chan - 404 Not Found') { if (Conf['404 Redirect'] && g.VIEW === 'thread') { href = Redirect.to('thread', { @@ -12524,44 +12524,7 @@ } 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 (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; + Main.initThread(threadRoot); } try { return localStorage.getItem('4chan-settings'); @@ -12570,6 +12533,46 @@ return new Notice('warning', 'Cookies need to be enabled on 4chan for 4chan X to operate properly.', 30); } }, + initThread: function(threadRoot) { + var err, errors, passLink, post, postRoot, posts, styleSelector, thread, _i, _len, _ref; + 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(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 (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'); + }); + return $.before(styleSelector.previousSibling, [$.tn('['), passLink, $.tn(']\u00A0\u00A0')]); + } + }, callbackNodes: function(klass, nodes) { var cb, i, node; i = 0; diff --git a/src/General/Main.coffee b/src/General/Main.coffee index 2a71c7515..f09816464 100755 --- a/src/General/Main.coffee +++ b/src/General/Main.coffee @@ -118,35 +118,7 @@ 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 - - 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 + Main.initThread threadRoot if g.VIEW is 'thread' and threadRoot = $ '.thread' <% if (type === 'userscript') { %> GMver = GM_info.version.split '.' @@ -162,6 +134,34 @@ Main = catch err new Notice 'warning', 'Cookies need to be enabled on 4chan for <%= meta.name %> to operate properly.', 30 + initThread: (threadRoot) -> + 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 + + 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'] + callbackNodes: (klass, nodes) -> i = 0 cb = klass.callbacks