Skip to content

Commit bb83c2c

Browse files
committed
Updated the File Uploader showcase to add Flexible integration.
1 parent 8961653 commit bb83c2c

File tree

1 file changed

+64
-2
lines changed

1 file changed

+64
-2
lines changed

src/main/java/gwt/material/design/demo/client/application/addins/fileuploader/FileUploaderView.ui.xml

Lines changed: 64 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
</demo:PrettyPre>
1717

1818
<m:MaterialTitle title="Note" description="The File Upload Addin component is just a Client UI, you can pass the Form url by adding url='/fileupload'. The server side must be developed by users, why? because some uses different Server Configs e.g GAE, Servlet or Commons API." />
19-
<ma:fileuploader.MaterialFileUploader ui:field="uploader" url="/uploadServlet" maxFileSize="20" shadow="1">
19+
<ma:fileuploader.MaterialFileUploader ui:field="uploader" url="/fileupload" method="POST" maxFileSize="20" shadow="1">
2020
<ma:fileuploader.MaterialUploadLabel title="Drag Files to Upload" description="Some description here" />
2121
</ma:fileuploader.MaterialFileUploader>
2222

@@ -25,7 +25,7 @@
2525
&emsp;&lt;ma:fileuploader.MaterialUploadLabel title="Drag Files to Upload" description="Some description here" /><br/>
2626
&lt;/ma:fileuploader.MaterialFileUploader><br/>
2727
</demo:PrettyPre>
28-
28+
2929
<m:MaterialTitle title="Properties" />
3030
<blockquote>
3131
<p><b>url</b> - Has to be specified on elements other than form (or when the form doesn't have an action attribute).</p>
@@ -34,6 +34,57 @@
3434
<p><b>acceptedFiles</b> - 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.</p>
3535
</blockquote>
3636

37+
<m:MaterialTitle title="Flexible Integration" description="MaterialFileUploader can be use on any widgets to control the upload process." />
38+
<m:MaterialImage url="http://i.imgur.com/GrM6eIz.gif" />
39+
<demo:PrettyPre addStyleNames="lang-xml z-depth-1">
40+
&emsp;&lt;m:MaterialRow><br/>
41+
&emsp;&lt;ma:fileuploader.MaterialFileUploader ui:field="cardUploader" acceptedFiles="image/*" grid="l4" url="/fileupload" preview="false" maxFileSize="20" shadow="0" clickable="cardUpload"><br/>
42+
&emsp;&emsp;&lt;m:MaterialCard><br/>
43+
&emsp;&emsp;&emsp;&lt;m:MaterialCardImage><br/>
44+
&emsp;&emsp;&emsp;&emsp;&lt;m:MaterialImage ui:field="imgPreview" url="http://demo.geekslabs.com/materialize/v3.1/images/gallary/33.jpg" /><br/>
45+
&emsp;&emsp;&emsp;&lt;/m:MaterialCardImage><br/>
46+
&emsp;&emsp;&emsp;&lt;m:MaterialCardContent layoutPosition="RELATIVE"><br/>
47+
&emsp;&emsp;&emsp;&emsp;&lt;m:MaterialLabel ui:field="lblName" text="Sample.png" fontSize="1.5em"/><br/>
48+
&emsp;&emsp;&emsp;&emsp;&lt;m:MaterialLabel ui:field="lblSize" text="13 mb" fontSize="0.8em"/><br/>
49+
&emsp;&emsp;&emsp;&emsp;&lt;m:MaterialProgress ui:field="progress" layoutPosition="ABSOLUTE" bottom="0" left="0" type="DETERMINATE" percent="0" /><br/>
50+
&emsp;&emsp;&emsp;&emsp;&lt;m:MaterialButton m:id="cardUpload" layoutPosition="ABSOLUTE" top="-25" right="25" type="FLOATING" backgroundColor="pink" size="LARGE" iconType="CLOUD_UPLOAD" iconColor="white"/><br/>
51+
&emsp;&emsp;&emsp;&lt;/m:MaterialCardContent><br/>
52+
&emsp;&emsp;&lt;/m:MaterialCard><br/>
53+
&emsp;&lt;/ma:fileuploader.MaterialFileUploader><br/>
54+
&lt;/m:MaterialRow><br/>
55+
</demo:PrettyPre>
56+
<m:MaterialTitle title="Java" description="Define all the fields and set the logic handlers during the upload process"/>
57+
<demo:PrettyPre addStyleNames="lang-java z-depth-1">
58+
&emsp;@UiField MaterialFileUploader uploader, cardUploader;<br/>
59+
@UiField MaterialImage imgPreview;<br/>
60+
@UiField MaterialProgress progress;<br/>
61+
@UiField MaterialLabel lblName, lblSize;<br/><br/>
62+
63+
// Added the progress to card uploader<br/>
64+
cardUploader.addTotalUploadProgressHandler(new TotalUploadProgressEvent.TotalUploadProgressHandler() {<br/>
65+
&emsp;@Override<br/>
66+
&emsp;public void onTotalUploadProgress(TotalUploadProgressEvent event) {<br/>
67+
&emsp;&emsp;progress.setPercent(event.getProgress());<br/>
68+
&emsp;}<br/>
69+
});<br/><br/>
70+
71+
cardUploader.addSuccessHandler(new SuccessEvent.SuccessHandler&lt;UploadFile>() {<br/>
72+
&emsp;@Override<br/>
73+
&emsp;public void onSuccess(SuccessEvent&lt;UploadFile> event) {<br/>
74+
&emsp;&emsp;lblName.setText(event.getTarget().getName());<br/>
75+
&emsp;&emsp;lblSize.setText(event.getTarget().getType());<br/>
76+
&emsp;&emsp;imgPreview.setUrl(GWT.getHostPageBaseURL() + "uploadedFiles/" + event.getTarget().getName());<br/>
77+
&emsp;}<br/>
78+
});<br/><br/>
79+
80+
cardUploader.addDragOverHandler(new DragOverEvent.DragOverHandler() {<br/>
81+
&emsp;@Override<br/>
82+
&emsp;public void onDragOver(DragOverEvent event) {<br/>
83+
&emsp;&emsp;MaterialAnimator.animate(Transition.RUBBERBAND, cardUploader, 0);<br/>
84+
&emsp;}<br/>
85+
});
86+
</demo:PrettyPre>
87+
3788
<m:MaterialTitle title="Events" />
3889
<blockquote>
3990
<p><b>Drop</b> - The user dropped something onto the dropzone.</p>
@@ -57,5 +108,16 @@
57108
<m:MaterialAnchorButton href="https://gist.github.com/kevzlou7979/2d97b81437760016cad8ecc9d74b8f7a" target="_blank" text="File Upload Servlet" textColor="white" waves="DEFAULT" />
58109

59110
<m:MaterialTitle title="Servlet definition" description="You must set your form url provided on gwt-material File Upload url inside the web.xml" />
111+
<demo:PrettyPre addStyleNames="lang-xml z-depth-1">
112+
&emsp;&lt;servlet><br/>
113+
&emsp;&lt;servlet-name><br/>fileUploaderServlet&lt;/servlet-name><br/>
114+
&emsp;&lt;servlet-class><br/>gwt.material.design.demo.server.FileUploadServlet&lt;/servlet-class><br/>
115+
&lt;/servlet><br/>
116+
&lt;servlet-mapping><br/>
117+
&emsp;&lt;servlet-name><br/>fileUploaderServlet&lt;/servlet-name><br/>
118+
&emsp;&lt;url-pattern><br/>/fileupload&lt;/url-pattern><br/>
119+
&lt;/servlet-mapping><br/>
120+
</demo:PrettyPre>
121+
60122
</g:HTMLPanel>
61123
</ui:UiBinder>

0 commit comments

Comments
 (0)