Author: dsvyatobatsko
Date: 2008-02-21 08:21:10 -0500 (Thu, 21 Feb 2008)
New Revision: 6238
Modified:
trunk/sandbox/ui/fileUpload/src/main/config/component/fileUpload.xml
trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/ui/renderkit/FileUploadRendererBase.java
trunk/sandbox/ui/fileUpload/src/main/templates/org/richfaces/fileUpload.jspx
Log:
added client side handlers (onupload, onuploadcomplete, onuploadcanceled, onerror)
Modified: trunk/sandbox/ui/fileUpload/src/main/config/component/fileUpload.xml
===================================================================
--- trunk/sandbox/ui/fileUpload/src/main/config/component/fileUpload.xml 2008-02-21
13:20:34 UTC (rev 6237)
+++ trunk/sandbox/ui/fileUpload/src/main/config/component/fileUpload.xml 2008-02-21
13:21:10 UTC (rev 6238)
@@ -148,6 +148,22 @@
MethodExpression representing an action listener method
that will be notified after file uploaded.
</description>
+ </property>
+ <property>
+ <name>onupload</name>
+ <classname>java.lang.String</classname>
+ </property>
+ <property>
+ <name>onuploadcomplete</name>
+ <classname>java.lang.String</classname>
+ </property>
+ <property>
+ <name>onuploadcanceled</name>
+ <classname>java.lang.String</classname>
+ </property>
+ <property>
+ <name>onerror</name>
+ <classname>java.lang.String</classname>
</property>
</component>
&listeners;
Modified:
trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/ui/renderkit/FileUploadRendererBase.java
===================================================================
---
trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/ui/renderkit/FileUploadRendererBase.java 2008-02-21
13:20:34 UTC (rev 6237)
+++
trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/ui/renderkit/FileUploadRendererBase.java 2008-02-21
13:21:10 UTC (rev 6238)
@@ -24,6 +24,7 @@
import org.ajax4jsf.javascript.JSLiteral;
import org.ajax4jsf.javascript.JSReference;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.ajax4jsf.resource.CountingOutputWriter;
import org.richfaces.component.UIProgressBar;
import org.richfaces.event.UploadEvent;
@@ -246,6 +247,10 @@
return (result != null) ? new JSLiteral(result.toString()) : null;
}
+ public String getAsEventHandler(FacesContext context, UIComponent component, String
attributeName) {
+ return RendererUtils.getInstance().getAsEventHandler(context, component,
attributeName, "").toScript();
+ }
+
/**
* Finds an instance of MultipartRequest wrapped within a request or its
* (recursively) wrapped requests.
Modified: trunk/sandbox/ui/fileUpload/src/main/templates/org/richfaces/fileUpload.jspx
===================================================================
---
trunk/sandbox/ui/fileUpload/src/main/templates/org/richfaces/fileUpload.jspx 2008-02-21
13:20:34 UTC (rev 6237)
+++
trunk/sandbox/ui/fileUpload/src/main/templates/org/richfaces/fileUpload.jspx 2008-02-21
13:21:10 UTC (rev 6238)
@@ -121,9 +121,16 @@
ENABLED : 'upload_button_content upload_font upload_ico upload_ico_clear
#{component.attributes["cleanStyle"]}',
DISABLED : 'upload_button_content upload_font upload_ico upload_ico_clear_dis
#{component.attributes["cleanStyleDisabled"]}'
}
- };
+ };
- new FileUpload('#{clientId}', #{this:getStopScript(context, component)},
#{this:getFileSizeScript(context, component)} ,'#{this:getProgressBarId(context,
component)}', FileUpload.CLASSES, #{this:getLabelMarkup(context, component)},
'#{component.attributes["maxFiles"]}');
+ var events = {
+ onupload : #{this:getAsEventHandler(context, component, "onupload")},
+ onuploadcomplete : #{this:getAsEventHandler(context, component,
"onuploadcomplete")},
+ onuploadcanceled : #{this:getAsEventHandler(context, component,
"onuploadcanceled")},
+ onerror : #{this:getAsEventHandler(context, component, "onerror")}
+ };
+
+ new FileUpload('#{clientId}', #{this:getStopScript(context, component)},
#{this:getFileSizeScript(context, component)} ,'#{this:getProgressBarId(context,
component)}', FileUpload.CLASSES, #{this:getLabelMarkup(context, component)},
'#{component.attributes["maxFiles"]}', events);
</script>
</span>