Support to drag and drop multiple images for upload at once
Change-Id: I133bdb247f406a47d24ecb5b40fd4f40870c0a81
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByDropOrPastePanel.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByDropOrPastePanel.java
index a34d0ec..3b6b0ce 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByDropOrPastePanel.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByDropOrPastePanel.java
@@ -124,20 +124,23 @@
if (!imagareSavedContent) {
imagareSavedContent = elem.innerHTML;
}
- var f = event.dataTransfer.files[0];
- if (f) {
- var r = new FileReader();
- r.onload = function(e) {
- elem.innerHTML = imagareSavedContent;
- if (f.type.match('image/.*')) {
- @com.googlesource.gerrit.plugins.imagare.client.ImageUploader::stageImage(Ljava/lang/String;Ljava/lang/String;)(e.target.result, f.name);
- } else {
- $wnd.Gerrit.showError('no image file');
+ for(var i = 0; i < event.dataTransfer.files.length; i++) {
+ var f = event.dataTransfer.files[i];
+ if (f) {
+ if (!f.type.match('image/.*')) {
+ $wnd.Gerrit.showError('no image file: ' + f.name);
}
+
+ var r = new FileReader();
+ r.file = f;
+ r.onload = function(e) {
+ elem.innerHTML = imagareSavedContent;
+ @com.googlesource.gerrit.plugins.imagare.client.ImageUploader::stageImage(Ljava/lang/String;Ljava/lang/String;)(e.target.result, this.file.name);
+ }
+ r.readAsDataURL(f);
+ } else {
+ $wnd.Gerrit.showError('Failed to load file: ' + f.name);
}
- r.readAsDataURL(f);
- } else {
- $wnd.Gerrit.showError('Failed to load file.');
}
}
}-*/;