diff --git a/4chan_x.js b/4chan_x.js index dc18c7ea8..01f878e47 100644 --- a/4chan_x.js +++ b/4chan_x.js @@ -990,6 +990,7 @@ $.remove(dialog); } } + qr.cooldownStart(); } else { error = $.el('span', { className: 'error', @@ -1052,29 +1053,40 @@ return ta.value += text; }, refresh: function(dialog) { - var f, submit; + var f; $('textarea', dialog).value = ''; $('input[name=recaptcha_response_field]', dialog).value = ''; f = $('input[type=file]', dialog).parentNode; - f.innerHTML = f.innerHTML; - submit = $('input[type=submit]', qr); - submit.value = g.sage ? 60 : 30; - submit.disabled = true; - return window.setTimeout(qr.cooldown, 1000); + return f.innerHTML = f.innerHTML; } }, cooldown: function() { - var seconds, submit; - submit = $('#qr input[type=submit]'); - seconds = parseInt(submit.value); - if (seconds === 0) { - submit.disabled = false; - return submit.value = 'Submit'; - } else { - submit.value = seconds - 1; + var submit, submits, _i, _len; + submits = $$('#qr input[type=submit], form[name=post] input[type=submit]'); + for (_i = 0, _len = submits.length; _i < _len; _i++) { + submit = submits[_i]; + if (g.seconds === 0) { + submit.disabled = false; + submit.value = 'Submit'; + } else { + submit.value = g.seconds = g.seconds - 1; + } + } + if (g.seconds !== 0) { return window.setTimeout(qr.cooldown, 1000); } }, + cooldownStart: function() { + var submit, submits, _i, _len; + g.seconds = g.sage ? 60 : 30; + submits = $$('#qr input[type=submit], form[name=post] input[type=submit]'); + for (_i = 0, _len = submits.length; _i < _len; _i++) { + submit = submits[_i]; + submit.value = g.seconds; + submit.disabled = true; + } + return window.setTimeout(qr.cooldown, 1000); + }, dialog: function(link) { var clone, dialog, el, html, input, script, xpath, _i, _len, _ref; html = "
Quick Reply X
"; diff --git a/script.coffee b/script.coffee index e406b0518..b8e947bb8 100644 --- a/script.coffee +++ b/script.coffee @@ -730,6 +730,7 @@ qr = qr.refresh dialog else $.remove dialog + qr.cooldownStart() else error = $.el 'span', className: 'error' @@ -786,21 +787,27 @@ qr = # XXX file.value = '' doesn't work in opera f = $('input[type=file]', dialog).parentNode f.innerHTML = f.innerHTML - submit = $ 'input[type=submit]', qr - submit.value = if g.sage then 60 else 30 - submit.disabled = true - window.setTimeout qr.cooldown, 1000 cooldown: -> - submit = $ '#qr input[type=submit]' - seconds = parseInt submit.value - if seconds == 0 - submit.disabled = false - submit.value = 'Submit' - else - submit.value = seconds - 1 + submits = $$ '#qr input[type=submit], form[name=post] input[type=submit]' + for submit in submits + if g.seconds == 0 + submit.disabled = false + submit.value = 'Submit' + else + submit.value = g.seconds = g.seconds - 1 + + if g.seconds != 0 window.setTimeout qr.cooldown, 1000 + cooldownStart: -> + g.seconds = if g.sage then 60 else 30 + submits = $$ '#qr input[type=submit], form[name=post] input[type=submit]' + for submit in submits + submit.value = g.seconds + submit.disabled = true + window.setTimeout qr.cooldown, 1000 + dialog: (link) -> html = "
Quick Reply X
" dialog = ui.dialog 'qr', top: '0px', left: '0px', html