Allow to upload multiple images at once from file upload Change-Id: Ic35bac60812a7a3662a10ab3f0c1df89b6227e2d Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByFileSelection.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByFileSelection.java index 69a0ad4..b202cd0 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByFileSelection.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByFileSelection.java
@@ -29,6 +29,7 @@ FormPanel form = new FormPanel(); FileUpload upload = new FileUpload(); upload.setName("Select Image"); + upload.getElement().setAttribute("multiple", "multiple"); upload.getElement().setAttribute("onChange", "imagareSubmit(event)"); form.add(upload); @@ -37,19 +38,22 @@ private static native void init0() /*-{ $wnd.imagareSubmit = function submit(event) { - var f = event.target.files[0]; - if (f) { - var r = new FileReader(); - r.onload = function(e) { - 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.target.files.length; i++) { + var f = event.target.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) { + @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.'); } } }-*/;