diff --git a/4chan_x.user.js b/4chan_x.user.js index 40f720579..6ec61fc8b 100644 --- a/4chan_x.user.js +++ b/4chan_x.user.js @@ -1237,11 +1237,11 @@ $.bind(fileDiv.lastChild, 'click', (function() { return $.rm(this.parentNode); })); - return $.prepend(qr.files, fileDiv); + return $.append($('#files', qr.el), fileDiv); }, attachNext: function() { var file, fileDiv, oldFile; - fileDiv = $.rm(qr.files.lastChild); + fileDiv = $.rm($('#files div', qr.el)); file = fileDiv.firstChild; oldFile = $('#qr_form input[type=file]', qr.el); return $.replace(oldFile, file); @@ -1315,12 +1315,11 @@ THREAD_ID = g.THREAD_ID || $.x('ancestor::div[@class="thread"]/div', link).id; spoiler = $('.postarea label') ? '' : ''; challenge = $('#recaptcha_challenge_field').value; - html = " X
Quick Reply
" + spoiler + "
" + ($.get('captchas', []).length) + " captchas
attach another file
"; + html = " X
Quick Reply
" + spoiler + "
" + ($.get('captchas', []).length) + " captchas
attach another file
"; qr.el = ui.dialog('qr', { top: '0px', left: '0px' }, html); - qr.files = $('#files', qr.el); qr.refresh(); $('textarea', qr.el).value = $('textarea').value; $.bind($('input[name=name]', qr.el), 'mousedown', function(e) { @@ -1336,9 +1335,10 @@ return $.append(d.body, qr.el); }, message: function(e) { - var data, duration; + var data, duration, fileCount; Recaptcha.reload(); $('iframe[name=iframe]').src = 'about:blank'; + fileCount = $('#files', qr.el).childElementCount; data = e.data; if (data) { data = JSON.parse(data); @@ -1347,7 +1347,7 @@ $('#autohide', qr.el).checked = false; if (data.textContent === 'You seem to have mistyped the verification.') { setTimeout(qr.autoPost, 1000); - } else if (data.textContent === 'Error: Duplicate file entry detected.' && qr.files.childElementCount) { + } else if (data.textContent === 'Error: Duplicate file entry detected.' && fileCount) { $('textarea', qr.el).value += '\n' + data.textContent + ' ' + data.href; qr.attachNext(); setTimeout(qr.autoPost, 1000); @@ -1355,9 +1355,9 @@ return; } if (qr.el) { - if (g.REPLY && (conf['Persistent QR'] || qr.files.childElementCount)) { + if (g.REPLY && (conf['Persistent QR'] || fileCount)) { qr.refresh(); - if (qr.files.childElementCount) { + if (fileCount) { qr.attachNext(); } } else { diff --git a/script.coffee b/script.coffee index c1a0775a9..f1e87544a 100644 --- a/script.coffee +++ b/script.coffee @@ -979,10 +979,10 @@ qr = fileDiv = $.el 'div', innerHTML: 'X' $.bind fileDiv.firstChild, 'change', qr.validateFileSize $.bind fileDiv.lastChild, 'click', (-> $.rm @parentNode) - $.prepend qr.files, fileDiv + $.append $('#files', qr.el), fileDiv attachNext: -> - fileDiv = $.rm qr.files.lastChild + fileDiv = $.rm $('#files div', qr.el) file = fileDiv.firstChild oldFile = $ '#qr_form input[type=file]', qr.el $.replace oldFile, file @@ -1064,13 +1064,12 @@ qr =
#{$.get('captchas', []).length} captchas
-
attach another file
+
attach another file
" qr.el = ui.dialog 'qr', top: '0px', left: '0px', html - qr.files = $ '#files', qr.el qr.refresh() $('textarea', qr.el).value = $('textarea').value @@ -1089,6 +1088,7 @@ qr = message: (e) -> Recaptcha.reload() $('iframe[name=iframe]').src = 'about:blank' + fileCount = $('#files', qr.el).childElementCount {data} = e if data # error message @@ -1098,16 +1098,16 @@ qr = $('#autohide', qr.el).checked = false if data.textContent is 'You seem to have mistyped the verification.' setTimeout qr.autoPost, 1000 - else if data.textContent is 'Error: Duplicate file entry detected.' and qr.files.childElementCount + else if data.textContent is 'Error: Duplicate file entry detected.' and fileCount $('textarea', qr.el).value += '\n' + data.textContent + ' ' + data.href qr.attachNext() setTimeout qr.autoPost, 1000 return if qr.el - if g.REPLY and (conf['Persistent QR'] or qr.files.childElementCount) + if g.REPLY and (conf['Persistent QR'] or fileCount) qr.refresh() - if qr.files.childElementCount + if fileCount qr.attachNext() else qr.close()