[richfaces-svn-commits] JBoss Rich Faces SVN: r4890 - branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Tue Dec 18 06:43:46 EST 2007
Author: vmolotkov
Date: 2007-12-18 06:43:46 -0500 (Tue, 18 Dec 2007)
New Revision: 4890
Modified:
branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js
Log:
bug: RF-1637
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-18 11:10:55 UTC (rev 4889)
+++ branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js 2007-12-18 11:43:46 UTC (rev 4890)
@@ -158,8 +158,22 @@
if (!(item instanceof Richfaces.SelectItem)) {
item = sourceComponent.getSelectItemByNode(item);
}
- this.removeItem(sourceComponent, item);
- this.addItem(targetComponent, item);
+ if (!LayoutManager.isIE() && (targetComponent.shuttleTbody.rows.length == 0)) {
+ var newItem = null;
+ if (item instanceof Richfaces.ListShuttle.Target.SelectItem) {
+ newItem = new Richfaces.ListShuttle.Target.SelectItem(item._label, item._id, item._node.cloneNode(true));
+ } else {
+ newItem = new Richfaces.ListShuttle.Source.SelectItem(item._label, item._id, item._node.cloneNode(true));
+ }
+ this.tableUpdate(targetComponent);
+ this.addItem(targetComponent, newItem);
+
+ this.removeItem(sourceComponent, item);
+ sourceComponent.shuttleTable.deleteRow(item._node.rowIndex);
+ } else {
+ this.addItem(targetComponent, item);
+ this.removeItem(sourceComponent, item);
+ }
},
removeItem : function(component, item) {
@@ -174,10 +188,19 @@
addItem : function(component, item) {
//var newItem = Object.clone(item);
item.doNormal();
+
component.shuttleTbody.insertBefore(item._node, null);
component.shuttleItems.push(item);
},
+ tableUpdate : function(component) {
+ var table = component.shuttleTable;
+ table.removeChild(table.tBodies[0]);
+ var tbody = document.createElement("TBODY");
+ table.appendChild(tbody);
+ component.shuttleTbody = table.tBodies[0];
+ },
+
saveState : function() {
this.targetList.saveState();
this.sourceList.saveState();
More information about the richfaces-svn-commits
mailing list