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

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Dec 5 21:02:58 EST 2007


Author: nbelaevski
Date: 2007-12-05 21:02:58 -0500 (Wed, 05 Dec 2007)
New Revision: 4524

Modified:
   branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentRendererBase.java
   branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js
   branches/3.1.x/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx
Log:
onorderchanged event handler updated

Modified: branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentRendererBase.java
===================================================================
--- branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentRendererBase.java	2007-12-06 00:37:42 UTC (rev 4523)
+++ branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentRendererBase.java	2007-12-06 02:02:58 UTC (rev 4524)
@@ -16,6 +16,11 @@
 import javax.faces.context.ResponseWriter;
 import javax.faces.convert.Converter;
 
+import org.ajax4jsf.javascript.JSFunction;
+import org.ajax4jsf.javascript.JSFunctionDefinition;
+import org.ajax4jsf.javascript.JSReference;
+import org.ajax4jsf.javascript.ScriptString;
+import org.ajax4jsf.javascript.ScriptUtils;
 import org.ajax4jsf.renderkit.ComponentVariables;
 import org.ajax4jsf.renderkit.ComponentsVariableResolver;
 import org.ajax4jsf.renderkit.RendererUtils.HTML;
@@ -461,4 +466,23 @@
 		}
 		return "display: none;";
 	}
+	
+	public String getAsEventHandler(FacesContext context, UIComponent component, String attributeName) {
+		String event = (String) component.getAttributes().get(attributeName);
+		ScriptString result = JSReference.NULL;
+		
+		if (event != null) {
+			event = event.trim();
+		
+			if (event.length() != 0) {
+				JSFunctionDefinition function = new JSFunctionDefinition();
+				function.addParameter("event");
+				function.addToBody(event);
+
+				result = function;
+			}
+		}
+
+		return ScriptUtils.toScript(result);
+	}
 }

Modified: branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js
===================================================================
--- branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js	2007-12-06 00:37:42 UTC (rev 4523)
+++ branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js	2007-12-06 02:02:58 UTC (rev 4524)
@@ -9,7 +9,11 @@
 	initialize: function(containerId, contentTableId, headerTableId, focusKeeperId, 
 				         ids, onclickControlId, onorderchanged) {
 		Richfaces.OrderingList.parentClass.constructor().call(this, containerId, contentTableId, headerTableId, focusKeeperId, onclickControlId); 
-		this.onorderchanged = onorderchanged;
+		
+		if (onorderchanged) {
+			this.container.observe("rich:onorderchanged", onorderchanged);
+		}
+
 		this.controlList = new Array();
 		
 		this.initControlList(containerId, ids);
@@ -112,7 +116,7 @@
 			if (action != null) 
 				this.autoScrolling(action, event);
 				
-			this.onorderchanged();
+			this.container.fire("rich:onorderchanged", {});
 			this.controlListManager();
 			this.saveState();
 		}

Modified: branches/3.1.x/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx
===================================================================
--- branches/3.1.x/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx	2007-12-06 00:37:42 UTC (rev 4523)
+++ branches/3.1.x/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx	2007-12-06 02:02:58 UTC (rev 4524)
@@ -89,7 +89,7 @@
 		var clientId = '#{cId}';
 		Event.onReady(function() {
 			var cotrolsIdPrefix = [['up', 'disup'], ['down', 'disdown'], ['last', 'dislast'], ['first','disfirst']];
-			var shuttle = new Richfaces.OrderingList('#{cId}', '#{cId}internal_tab', '#{cId}internal_header_tab', '#{cId}focusKeeper', cotrolsIdPrefix, '#{cId}sortLabel', function() {#{component.attributes['onorderchanged']}});
+			var shuttle = new Richfaces.OrderingList('#{cId}', '#{cId}internal_tab', '#{cId}internal_header_tab', '#{cId}focusKeeper', cotrolsIdPrefix, '#{cId}sortLabel', #{this:getAsEventHandler(context, component, "onorderchanged")});
 			var layoutManager = new LayoutManager('#{clientId}internal_header_tab', '#{clientId}internal_tab');
 			layoutManager.widthSynchronization();
 		});




More information about the richfaces-svn-commits mailing list