[richfaces-svn-commits] JBoss Rich Faces SVN: r4499 - in branches/3.1.x/ui/componentControl/src/main: resources/org/richfaces/renderkit/html/script and 1 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Dec 5 10:23:13 EST 2007


Author: maksimkaszynski
Date: 2007-12-05 10:23:13 -0500 (Wed, 05 Dec 2007)
New Revision: 4499

Modified:
   branches/3.1.x/ui/componentControl/src/main/java/org/richfaces/component/UIComponentControl.java
   branches/3.1.x/ui/componentControl/src/main/resources/org/richfaces/renderkit/html/script/controlUtils.js
   branches/3.1.x/ui/componentControl/src/main/templates/htmlComponentControl.jspx
Log:
http://jira.jboss.com/jira/browse/RF-1482

Modified: branches/3.1.x/ui/componentControl/src/main/java/org/richfaces/component/UIComponentControl.java
===================================================================
--- branches/3.1.x/ui/componentControl/src/main/java/org/richfaces/component/UIComponentControl.java	2007-12-05 15:14:00 UTC (rev 4498)
+++ branches/3.1.x/ui/componentControl/src/main/java/org/richfaces/component/UIComponentControl.java	2007-12-05 15:23:13 UTC (rev 4499)
@@ -16,6 +16,7 @@
 import org.ajax4jsf.component.AjaxSupport;
 import org.ajax4jsf.component.EventValueBinding;
 import org.ajax4jsf.component.JavaScriptParameter;
+import org.ajax4jsf.javascript.JSFunction;
 import org.ajax4jsf.javascript.JSReference;
 import org.ajax4jsf.javascript.ScriptUtils;
 import org.apache.commons.logging.Log;
@@ -41,20 +42,22 @@
 	 */
 	public String getEventString()
 	{
-		StringBuffer buildOnEvent = new StringBuffer();
-
 		String targetId = HtmlUtil.idsToIdSelector(getFor());
 
-		targetId=HtmlUtil.expandIdSelector(targetId, this, FacesContext.getCurrentInstance());
+		targetId = HtmlUtil.expandIdSelector(targetId, this, FacesContext.getCurrentInstance());
+		
+		JSFunction invocation = new JSFunction("Richfaces.componentControl.performOperation");
+		invocation.addParameter(new JSReference("event"));
+		//FIXME: Maksim
+		//Replacement looks ugly - move that functionality to HtmlUtil
+		invocation.addParameter(targetId.replace("\\\\", "\\"));
+		invocation.addParameter(getOperation());
+		invocation.addParameter(new JSReference("{" + getEncodedParametersMap() + "}"));
+		invocation.addParameter(Boolean.valueOf(isDisableDefault()));
+		
+		return invocation.toScript();
 
-		buildOnEvent.append("Richfaces.componentControl.performOperation(event, ");
-		buildOnEvent.append("'" + targetId + "',");
-		buildOnEvent.append("'" + getOperation() + "',");
-		buildOnEvent.append("{" + getEncodedParametersMap() + "});");
 
-		return buildOnEvent.toString();
-
-
 	}
 
 	public String getEncodedParametersMap() {

Modified: branches/3.1.x/ui/componentControl/src/main/resources/org/richfaces/renderkit/html/script/controlUtils.js
===================================================================
--- branches/3.1.x/ui/componentControl/src/main/resources/org/richfaces/renderkit/html/script/controlUtils.js	2007-12-05 15:14:00 UTC (rev 4498)
+++ branches/3.1.x/ui/componentControl/src/main/resources/org/richfaces/renderkit/html/script/controlUtils.js	2007-12-05 15:23:13 UTC (rev 4499)
@@ -29,11 +29,9 @@
 	
 };
 
-Richfaces.componentControl.attachEvent = function(attachTo, aevent, forAttr, operation, params) {
-	jQuery(attachTo).bind(Richfaces.effectEventOnOut(aevent), function(cevent) {
-		Richfaces.componentControl.eachComponent(forAttr, function(component) {
-			component[operation](cevent, params);
-		});
+Richfaces.componentControl.attachEvent = function(attachTo, aevent, forAttr, operation, params, disableDefault) {
+	jQuery(attachTo).bind(Richfaces.effectEventOnOut(aevent),function(cevent) {
+		Richfaces.componentControl.performOperation(cevent,  forAttr, operation, params, disableDefault);
 	}).each(function() {
 		Richfaces.componentControl.applyDecorations(this, forAttr, function(element) {
 			//TODO: handle component decoration
@@ -41,10 +39,13 @@
 	});
 };
 
-Richfaces.componentControl.performOperation = function( cevent,  forAttr, operation, params) {
+Richfaces.componentControl.performOperation = function( cevent,  forAttr, operation, params, disableDefault) {
 	Richfaces.componentControl.eachComponent(forAttr, function(component) {
 		component[operation](cevent, params);
 	});
+	if (disableDefault) {
+		Event.stop(cevent);
+	}
 };
 
 

Modified: branches/3.1.x/ui/componentControl/src/main/templates/htmlComponentControl.jspx
===================================================================
--- branches/3.1.x/ui/componentControl/src/main/templates/htmlComponentControl.jspx	2007-12-05 15:14:00 UTC (rev 4498)
+++ branches/3.1.x/ui/componentControl/src/main/templates/htmlComponentControl.jspx	2007-12-05 15:23:13 UTC (rev 4499)
@@ -41,7 +41,7 @@
  //<![CDATA[
 function #{name}(cevent) {
 	Richfaces.componentControl.performOperation(
-	 cevent, '#{forAttr}', '#{operation}', {#{params}} );
+	 cevent, '#{forAttr}', '#{operation}', {#{params}}, #{component.disableDefault} );
 }
 //]]>
 </script>
@@ -54,7 +54,7 @@
  {
 
 Richfaces.componentControl.attachEvent(
-	'#{attachTo}', '#{event}', '#{forAttr}', '#{operation}', {#{params}} );
+	'#{attachTo}', '#{event}', '#{forAttr}', '#{operation}', {#{params}}, #{component.disableDefault} );
  
 }
 //]]>
@@ -68,7 +68,7 @@
  //<![CDATA[
   jQuery(document).ready(function() {
 	Richfaces.componentControl.attachEvent(
-	'#{attachTo}', '#{event}', '#{forAttr}', '#{operation}', {#{params}} );
+	'#{attachTo}', '#{event}', '#{forAttr}', '#{operation}', {#{params}}, #{component.disableDefault} );
  	});
  
 //]]>




More information about the richfaces-svn-commits mailing list