[richfaces-svn-commits] JBoss Rich Faces SVN: r4749 - in branches/3.1.x/ui/listShuttle/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
Tue Dec 11 15:59:42 EST 2007


Author: nbelaevski
Date: 2007-12-11 15:59:42 -0500 (Tue, 11 Dec 2007)
New Revision: 4749

Modified:
   branches/3.1.x/ui/listShuttle/src/main/config/component/listShuttle.xml
   branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js
   branches/3.1.x/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx
Log:
onlistchanged event added

Modified: branches/3.1.x/ui/listShuttle/src/main/config/component/listShuttle.xml
===================================================================
--- branches/3.1.x/ui/listShuttle/src/main/config/component/listShuttle.xml	2007-12-11 20:59:35 UTC (rev 4748)
+++ branches/3.1.x/ui/listShuttle/src/main/config/component/listShuttle.xml	2007-12-11 20:59:42 UTC (rev 4749)
@@ -314,5 +314,10 @@
 	    	<name>columnClasses</name>
 	    	<classname>java.lang.String</classname>
 	    </property>
+	    
+	    <property>
+	    	<name>onlistchanged</name>
+	    	<classname>java.lang.String</classname>
+	    </property>
 	</component>
 </components>

Modified: branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js
===================================================================
--- branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js	2007-12-11 20:59:35 UTC (rev 4748)
+++ branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js	2007-12-11 20:59:42 UTC (rev 4749)
@@ -42,7 +42,8 @@
 }
 
 Richfaces.ListShuttle.prototype = {
-	initialize: function(targetList, sourceList, clientId, controlIds, switchByClick, sourceLayoutManager, targetLayoutManager) {
+	initialize: function(targetList, sourceList, clientId, controlIds, switchByClick, sourceLayoutManager, targetLayoutManager, onlistchanged) {
+		this.containerId = clientId;
 		this.targetList = targetList;
 		this.sourceList = sourceList;
 		
@@ -66,6 +67,11 @@
 		
 		this.controlList = new Array();
 		this.initControlList(clientId, controlIds);
+	
+		if (onlistchanged) {
+			this.targetList.container.observe("rich:onorderchanged", onlistchanged);
+			$(this.containerId).observe("rich:onlistchanged", onlistchanged);
+		}
 	},
 	
 	initControlList : function(clientId, ids) {
@@ -129,6 +135,8 @@
 			
 			this.targetLayoutManager.widthSynchronization();
 			this.sourceLayoutManager.widthSynchronization();
+		
+			$(this.containerId).fire("rich:onlistchanged", {});
 		}
 	},
 	

Modified: branches/3.1.x/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx
===================================================================
--- branches/3.1.x/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx	2007-12-11 20:59:35 UTC (rev 4748)
+++ branches/3.1.x/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx	2007-12-11 20:59:42 UTC (rev 4749)
@@ -189,7 +189,7 @@
 								
 								var listShuttle = new Richfaces.ListShuttle(new Richfaces.ListShuttle.Target('#{clientId}', '#{clientId}tlInternal_tab', '#{clientId}tlInternal_header_tab', '#{clientId}tlFocusKeeper', cotrolsIdPrefix, '#{clientId}sortLabel', #{this:getAsEventHandler(context, component, "onorderchanged")}, Richfaces.ListShuttle.Target.SelectItem), 
 																  			new Richfaces.ListShuttle.Source('#{clientId}', '#{clientId}internal_tab', '#{clientId}internal_header_tab', '#{clientId}focusKeeper', undefined, Richfaces.ListShuttle.Source.SelectItem), 
-																  			"#{clientId}", listShuttleCotrolsIdPrefix, "#{switchByClick}", sourceLayoutManager, targetLayoutManager);
+																  			"#{clientId}", listShuttleCotrolsIdPrefix, "#{switchByClick}", sourceLayoutManager, targetLayoutManager, #{this:getAsEventHandler(context, component, "onlistchanged")});
 								var sourceLayoutManager = new LayoutManager('#{clientId}internal_header_tab', '#{clientId}internal_tab');
 								var targetLayoutManager = new LayoutManager('#{clientId}tlInternal_header_tab', '#{clientId}tlInternal_tab');
 								sourceLayoutManager.widthSynchronization();




More information about the richfaces-svn-commits mailing list