[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