Fix last file input bugs. #932
This commit is contained in:
parent
70fdb95586
commit
bdfcf60d8b
@ -661,9 +661,12 @@
|
|||||||
fd = new FormData();
|
fd = new FormData();
|
||||||
for (key in form) {
|
for (key in form) {
|
||||||
val = form[key];
|
val = form[key];
|
||||||
if (val instanceof Blob) {
|
if (!val) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (val.size && val.name) {
|
||||||
fd.append(key, val, val.name);
|
fd.append(key, val, val.name);
|
||||||
} else if (val) {
|
} else {
|
||||||
fd.append(key, val);
|
fd.append(key, val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -6008,7 +6011,7 @@
|
|||||||
},
|
},
|
||||||
fileInput: function(files) {
|
fileInput: function(files) {
|
||||||
var file, length, max, post, _i, _len, _ref, _ref1;
|
var file, length, max, post, _i, _len, _ref, _ref1;
|
||||||
if (files instanceof Event) {
|
if (this instanceof Element) {
|
||||||
files = __slice.call(this.files);
|
files = __slice.call(this.files);
|
||||||
QR.nodes.fileInput.value = null;
|
QR.nodes.fileInput.value = null;
|
||||||
}
|
}
|
||||||
@ -6042,9 +6045,10 @@
|
|||||||
QR.error("" + file.name + ": File too large (file: " + ($.bytesToString(file.size)) + ", max: " + ($.bytesToString(max)) + ").");
|
QR.error("" + file.name + ": File too large (file: " + ($.bytesToString(file.size)) + ", max: " + ($.bytesToString(max)) + ").");
|
||||||
} else if (_ref1 = file.type, __indexOf.call(QR.mimeTypes, _ref1) < 0) {
|
} else if (_ref1 = file.type, __indexOf.call(QR.mimeTypes, _ref1) < 0) {
|
||||||
QR.error("" + file.name + ": Unsupported file type.");
|
QR.error("" + file.name + ": Unsupported file type.");
|
||||||
} else if ((post = QR.posts[QR.posts.length - 1]).file) {
|
|
||||||
post = new QR.post();
|
|
||||||
} else {
|
} else {
|
||||||
|
if ((post = QR.posts[QR.posts.length - 1]).file) {
|
||||||
|
post = new QR.post();
|
||||||
|
}
|
||||||
post.setFile(file);
|
post.setFile(file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -6459,6 +6463,9 @@
|
|||||||
},
|
},
|
||||||
load: function() {
|
load: function() {
|
||||||
var challenge;
|
var challenge;
|
||||||
|
if (!this.nodes.challenge.firstChild) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.timeout = Date.now() + $.unsafeWindow.RecaptchaState.timeout * $.SECOND - $.MINUTE;
|
this.timeout = Date.now() + $.unsafeWindow.RecaptchaState.timeout * $.SECOND - $.MINUTE;
|
||||||
challenge = this.nodes.challenge.firstChild.value;
|
challenge = this.nodes.challenge.firstChild.value;
|
||||||
this.nodes.img.alt = challenge;
|
this.nodes.img.alt = challenge;
|
||||||
|
|||||||
@ -39,9 +39,12 @@ $.extend $,
|
|||||||
return new FormData form
|
return new FormData form
|
||||||
fd = new FormData()
|
fd = new FormData()
|
||||||
for key, val of form
|
for key, val of form
|
||||||
if val instanceof Blob
|
continue unless val
|
||||||
|
# XXX GM bug
|
||||||
|
# if val instanceof Blob
|
||||||
|
if val.size and val.name
|
||||||
fd.append key, val, val.name
|
fd.append key, val, val.name
|
||||||
else if val
|
else
|
||||||
fd.append key, val
|
fd.append key, val
|
||||||
fd
|
fd
|
||||||
ajax: (url, callbacks, opts={}) ->
|
ajax: (url, callbacks, opts={}) ->
|
||||||
|
|||||||
@ -310,7 +310,7 @@ QR =
|
|||||||
QR.open()
|
QR.open()
|
||||||
QR.fileInput files
|
QR.fileInput files
|
||||||
fileInput: (files) ->
|
fileInput: (files) ->
|
||||||
if files instanceof Event # file input
|
if @ instanceof Element #or files instanceof Event # file input
|
||||||
files = [@files...]
|
files = [@files...]
|
||||||
QR.nodes.fileInput.value = null # Don't hold the files from being modified on windows
|
QR.nodes.fileInput.value = null # Don't hold the files from being modified on windows
|
||||||
{length} = files
|
{length} = files
|
||||||
@ -339,9 +339,9 @@ QR =
|
|||||||
QR.error "#{file.name}: File too large (file: #{$.bytesToString file.size}, max: #{$.bytesToString max})."
|
QR.error "#{file.name}: File too large (file: #{$.bytesToString file.size}, max: #{$.bytesToString max})."
|
||||||
else unless file.type in QR.mimeTypes
|
else unless file.type in QR.mimeTypes
|
||||||
QR.error "#{file.name}: Unsupported file type."
|
QR.error "#{file.name}: Unsupported file type."
|
||||||
else if (post = QR.posts[QR.posts.length - 1]).file
|
|
||||||
post = new QR.post()
|
|
||||||
else
|
else
|
||||||
|
if (post = QR.posts[QR.posts.length - 1]).file
|
||||||
|
post = new QR.post()
|
||||||
post.setFile file
|
post.setFile file
|
||||||
$.addClass QR.nodes.el, 'dump'
|
$.addClass QR.nodes.el, 'dump'
|
||||||
resetThreadSelector: ->
|
resetThreadSelector: ->
|
||||||
@ -627,6 +627,7 @@ QR =
|
|||||||
@count()
|
@count()
|
||||||
$.set 'captchas', @captchas
|
$.set 'captchas', @captchas
|
||||||
load: ->
|
load: ->
|
||||||
|
return unless @nodes.challenge.firstChild
|
||||||
# -1 minute to give upload some time.
|
# -1 minute to give upload some time.
|
||||||
@timeout = Date.now() + $.unsafeWindow.RecaptchaState.timeout * $.SECOND - $.MINUTE
|
@timeout = Date.now() + $.unsafeWindow.RecaptchaState.timeout * $.SECOND - $.MINUTE
|
||||||
challenge = @nodes.challenge.firstChild.value
|
challenge = @nodes.challenge.firstChild.value
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user