Skip to content

Commit fe077a0

Browse files
committed
Added preview option to hide/display the default uploaded file previews.
Fixed the flexibility of clickable option to trigger the file upload dialog.
1 parent e6f4149 commit fe077a0

File tree

1 file changed

+20
-13
lines changed

1 file changed

+20
-13
lines changed

src/main/java/gwt/material/design/addins/client/fileuploader/MaterialFileUploader.java

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import gwt.material.design.addins.client.fileuploader.constants.FileMethod;
3636
import gwt.material.design.addins.client.fileuploader.events.*;
3737
import gwt.material.design.client.base.MaterialWidget;
38+
import gwt.material.design.client.constants.Display;
3839

3940
import java.util.Date;
4041

@@ -82,6 +83,7 @@ public class MaterialFileUploader extends MaterialWidget implements HasFileUploa
8283
private String acceptedFiles = ""; // The default implementation of accept checks the file's mime type or extension against this list. This is a comma separated list of mime types or file extensions. Eg.: image/*,application/pdf,.psd
8384
private String clickable = "";
8485
private MaterialUploadPreview uploadPreview = new MaterialUploadPreview();
86+
private boolean preview = true;
8587

8688
public MaterialFileUploader() {
8789
super(Document.get().createDivElement());
@@ -102,25 +104,22 @@ public void add(Widget child) {
102104
super.add(child);
103105
}
104106

105-
public native void fireYes() /*-{
106-
alert('Yes');
107-
}-*/;
108-
109-
public native void fireNo() /*-{
110-
alert('No');
111-
}-*/;
112-
113107
public void initDropzone() {
114108
String previews = DOM.createUniqueId();
115109
uploadPreview.getUploadCollection().setId(previews);
116-
117-
if(getWidget(1) instanceof MaterialUploadLabel){
118-
MaterialUploadLabel label = (MaterialUploadLabel) getWidget(1);
110+
if(clickable.isEmpty()) {
119111
String clickable = DOM.createUniqueId();
120-
label.getIcon().setId(clickable);
112+
if (getWidget(1) instanceof MaterialUploadLabel) {
113+
MaterialUploadLabel label = (MaterialUploadLabel) getWidget(1);
114+
label.getIcon().setId(clickable);
115+
} else {
116+
getWidget(1).getElement().setId(clickable);
117+
}
121118
setClickable(clickable);
122119
}
123-
120+
if(!isPreview()){
121+
uploadPreview.setDisplay(Display.NONE);
122+
}
124123
initDropzone(getElement(), uploadPreview.getUploadCollection().getItem().getElement(), previews, uploadPreview.getElement(),uploadPreview.getUploadHeader().getUploadedFiles().getElement(), getUrl(), getMaxFileSize(), getMaxFiles(), getMethod().getCssName(), isAutoQueue(), getAcceptedFiles(), getClickable());
125124
}
126125

@@ -493,4 +492,12 @@ public void setClickable(String clickable) {
493492
public void fireMaxFilesExceededEvent(String fileName, String lastModified, String size, String type) {
494493
MaxFilesReachedEvent.fire(this, new UploadFile(fileName, new Date(lastModified), Long.parseLong(size), type));
495494
}
495+
496+
public boolean isPreview() {
497+
return preview;
498+
}
499+
500+
public void setPreview(boolean preview) {
501+
this.preview = preview;
502+
}
496503
}

0 commit comments

Comments
 (0)