[richfaces-svn-commits] JBoss Rich Faces SVN: r12023 - in trunk/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 24 13:52:54 EST 2008


Author: vmolotkov
Date: 2008-12-24 13:52:54 -0500 (Wed, 24 Dec 2008)
New Revision: 12023

Modified:
   trunk/ui/orderingList/src/main/config/component/orderinglist.xml
   trunk/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js
   trunk/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx
Log:
https://jira.jboss.org/jira/browse/RF-4595

Modified: trunk/ui/orderingList/src/main/config/component/orderinglist.xml
===================================================================
--- trunk/ui/orderingList/src/main/config/component/orderinglist.xml	2008-12-24 18:52:48 UTC (rev 12022)
+++ trunk/ui/orderingList/src/main/config/component/orderinglist.xml	2008-12-24 18:52:54 UTC (rev 12023)
@@ -191,6 +191,14 @@
             <defaultvalue><![CDATA[""]]></defaultvalue>
         </property>
         <property>
+            <name>onorderchange</name>
+            <classname>java.lang.String</classname>
+            <description>
+                A JavaScript event handler called before order operation
+            </description>
+            <defaultvalue><![CDATA[""]]></defaultvalue>
+        </property>
+        <property>
             <name>ontopclick</name>
             <classname>java.lang.String</classname>
             <description>

Modified: trunk/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js
===================================================================
--- trunk/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js	2008-12-24 18:52:48 UTC (rev 12022)
+++ trunk/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js	2008-12-24 18:52:54 UTC (rev 12023)
@@ -95,50 +95,54 @@
 	},
 	
 	moveSelectedItems : function(action, event) {
-		event = window.event||event;
-		var rows = this.shuttleTbody.rows;
-		var item;
 		if (this.selectedItems.length > 0) {
-			this.selectedItems.sort(this.compareByRowIndex);
 			
-			if ((action == 'up') && this.getExtremeItem("first").previousSibling) {
-				for (var i = 0; i < this.selectedItems.length; i++) {
-					item = this.selectedItems[i];
-					item.parentNode.insertBefore(item, item.previousSibling);			
+			if (Richfaces.invokeEvent(this.events.onorderchange, this.container, "rich:onorderchange", {items: this.shuttleItems})) {
+				event = window.event||event;
+				var rows = this.shuttleTbody.rows;
+				var item;
+				
+				this.selectedItems.sort(this.compareByRowIndex);
+				
+				if ((action == 'up') && this.getExtremeItem("first").previousSibling) {
+					for (var i = 0; i < this.selectedItems.length; i++) {
+						item = this.selectedItems[i];
+						item.parentNode.insertBefore(item, item.previousSibling);			
+					}
+				} else if ((action == 'down') && this.getExtremeItem("last").nextSibling) {
+					for (var i = this.selectedItems.length - 1; i > -1; i--) {
+						item = this.selectedItems[i];
+						item.parentNode.insertBefore(item.nextSibling, item);				
+					}
+				} else if (action == 'first') {
+					var incr = this.selectedItems[0].rowIndex;
+					for (var i = 0; i < this.selectedItems.length; i++) {
+						item = this.selectedItems[i];
+						item.parentNode.insertBefore(item, rows[item.rowIndex - incr]);				
+					}
+				} else if (action == 'last') {
+					var length = this.shuttleItems.length;
+					var incr = length - this.selectedItems[this.selectedItems.length - 1].rowIndex;
+					for (var i = this.selectedItems.length - 1; i > -1; i--) {
+						item = this.selectedItems[i];
+						if (item.rowIndex + incr > length - 1) {
+							item.parentNode.insertBefore(item, null);
+						} else {
+							item.parentNode.insertBefore(item, rows[item.rowIndex + incr]);
+						}
+					}
 				}
-			} else if ((action == 'down') && this.getExtremeItem("last").nextSibling) {
-				for (var i = this.selectedItems.length - 1; i > -1; i--) {
-					item = this.selectedItems[i];
-					item.parentNode.insertBefore(item.nextSibling, item);				
+				
+				this.shuttleItems = new Array();
+				for (var i = 0; i < rows.length; i++) {
+					this.shuttleItems.push(rows[i].item);
 				}
-			} else if (action == 'first') {
-				var incr = this.selectedItems[0].rowIndex;
-				for (var i = 0; i < this.selectedItems.length; i++) {
-					item = this.selectedItems[i];
-					item.parentNode.insertBefore(item, rows[item.rowIndex - incr]);				
-				}
-			} else if (action == 'last') {
-				var length = this.shuttleItems.length;
-				var incr = length - this.selectedItems[this.selectedItems.length - 1].rowIndex;
-				for (var i = this.selectedItems.length - 1; i > -1; i--) {
-					item = this.selectedItems[i];
-					if (item.rowIndex + incr > length - 1) {
-						item.parentNode.insertBefore(item, null);
-					} else {
-						item.parentNode.insertBefore(item, rows[item.rowIndex + incr]);
-					}
-				}
+				if (action != null) 
+					this.autoScrolling(action, event);
+					
+				this.container.fire("rich:onorderchanged", {items: this.shuttleItems});
+				this.controlListManager();
 			}
-			
-			this.shuttleItems = new Array();
-			for (var i = 0; i < rows.length; i++) {
-				this.shuttleItems.push(rows[i].item);
-			}
-			if (action != null) 
-				this.autoScrolling(action, event);
-				
-			this.container.fire("rich:onorderchanged", {items: this.shuttleItems});
-			this.controlListManager();
 		}
 	},
 	

Modified: trunk/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx
===================================================================
--- trunk/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx	2008-12-24 18:52:48 UTC (rev 12022)
+++ trunk/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx	2008-12-24 18:52:54 UTC (rev 12023)
@@ -123,6 +123,7 @@
 													 [['up', 'disup'], ['down', 'disdown'], ['last', 'dislast'], ['first','disfirst']],
 													 '#{cId}sortLabel', 
 													 {onorderchanged:#{this:getAsEventHandler(context, component, "onorderchanged")},
+													  onorderchange:#{this:getAsEventHandler(context, component, "onorderchange")},
 													  ontopclick:#{this:getAsEventHandler(context, component, "ontopclick")},
 													  onbottomclick:#{this:getAsEventHandler(context, component, "onbottomclick")},
 													  onupclick:#{this:getAsEventHandler(context, component, "onupclick")},




More information about the richfaces-svn-commits mailing list