You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2009/12/09 18:39:06 UTC
svn commit: r888887 - in
/wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload:
UploadProgressBar.java progressbar.js
Author: ivaynberg
Date: Wed Dec 9 17:39:05 2009
New Revision: 888887
URL: http://svn.apache.org/viewvc?rev=888887&view=rev
Log:
WICKET-2602
Issue: WICKET-2602
Modified:
wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java
wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/progressbar.js
Modified: wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java?rev=888887&r1=888886&r2=888887&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java (original)
+++ wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java Wed Dec 9 17:39:05 2009
@@ -24,6 +24,7 @@
import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.upload.FileUploadField;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
import org.slf4j.Logger;
@@ -76,10 +77,32 @@
private static final long serialVersionUID = 1L;
/**
+ * Constructor that will display the upload progress bar for every submit of the given form.
+ *
+ * @param id
+ * component id (not null)
+ * @param form
+ * form that will be submitted (not null)
+ */
+ public UploadProgressBar(String id, final Form<?> form)
+ {
+ this(id, form, null);
+ }
+
+ /**
+ * Constructor that will display the upload progress bar for submissions of the given form, that
+ * include a file upload in the given file upload field; i.e. if the user did not select a file
+ * in the given file upload field, the progess bar is not displayed.
+ *
* @param id
+ * component id (not null)
* @param form
+ * form that is submitted (not null)
+ * @param fileUploadField
+ * the file upload field to check for a file upload, or null to display the upload
+ * field for every submit of the given form
*/
- public UploadProgressBar(String id, final Form< ? > form)
+ public UploadProgressBar(String id, final Form<?> form, final FileUploadField fileUploadField)
{
super(id);
setOutputMarkupId(true);
@@ -118,9 +141,12 @@
{
ResourceReference ref = new ResourceReference(RESOURCE_NAME);
+ String fileUploadFieldMarkupId = fileUploadField == null ? ""
+ : fileUploadField.getMarkupId();
return "var def=new Wicket.WUPB.Def('" + form.getMarkupId() + "', '" +
statusDiv.getMarkupId() + "', '" + barDiv.getMarkupId() + "', '" +
- getPage().urlFor(ref) + "'); Wicket.WUPB.start(def);";
+ getPage().urlFor(ref) + "','" + fileUploadFieldMarkupId +
+ "'); Wicket.WUPB.start(def);";
}
}));
}
Modified: wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/progressbar.js
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/progressbar.js?rev=888887&r1=888886&r2=888887&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/progressbar.js (original)
+++ wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/progressbar.js Wed Dec 9 17:39:05 2009
@@ -18,11 +18,12 @@
Wicket.WUPB= {
- Def : function(formid, statusid, barid, url) {
+ Def : function(formid, statusid, barid, url, fileid) {
this.formid=formid;
this.statusid=statusid;
this.barid=barid;
this.url=url;
+ this.fileid=fileid;
},
get : function(id) {
@@ -30,14 +31,21 @@
},
start : function(def) {
- //Wicket.WUPB.get(def.formid).submit();
- Wicket.WUPB.get(def.statusid).innerHTML='Upload starting...';
- Wicket.WUPB.get(def.barid).firstChild.firstChild.style.width='0%';
-
- Wicket.WUPB.get(def.statusid).style.display='block';
- Wicket.WUPB.get(def.barid).style.display='block';
-
- window.setTimeout(function() { Wicket.WUPB.ajax(def); }, 1000);
+ var displayprogress = true;
+ if (def.fileid) {
+ var fileupload = Wicket.WUPB.get(def.fileid);
+ displayprogress = fileupload && fileupload.value && fileupload.value != '';
+ }
+ if(displayprogress) {
+ //Wicket.WUPB.get(def.formid).submit();
+ Wicket.WUPB.get(def.statusid).innerHTML='Upload starting...';
+ Wicket.WUPB.get(def.barid).firstChild.firstChild.style.width='0%';
+
+ Wicket.WUPB.get(def.statusid).style.display='block';
+ Wicket.WUPB.get(def.barid).style.display='block';
+
+ window.setTimeout(function() { Wicket.WUPB.ajax(def); }, 1000);
+ }
},
ajax : function(def) {