Author: nbelaevski
Date: 2008-01-03 15:45:41 -0500 (Thu, 03 Jan 2008)
New Revision: 5131
Modified:
trunk/ui/listShuttle/src/main/java/org/richfaces/component/UIListShuttle.java
trunk/ui/listShuttle/src/main/java/org/richfaces/renderkit/ListShuttleRendererBase.java
trunk/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx
Log:
http://jira.jboss.com/jira/browse/RF-1819
Modified: trunk/ui/listShuttle/src/main/java/org/richfaces/component/UIListShuttle.java
===================================================================
---
trunk/ui/listShuttle/src/main/java/org/richfaces/component/UIListShuttle.java 2008-01-03
17:16:29 UTC (rev 5130)
+++
trunk/ui/listShuttle/src/main/java/org/richfaces/component/UIListShuttle.java 2008-01-03
20:45:41 UTC (rev 5131)
@@ -8,13 +8,11 @@
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
-import javax.faces.FacesException;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
@@ -563,6 +561,10 @@
final ArrayList targetList = new ArrayList();
try {
+
+ Object key = getRowKey();
+ captureOrigValue(context);
+
walk(context, new DataVisitor() {
public void process(FacesContext context, Object rowKey,
@@ -578,6 +580,10 @@
}
}
}, null);
+
+ setRowKey(key);
+ restoreOrigValue(context);
+
} catch (IOException e) {
throw new ConverterException(e.getLocalizedMessage(), e);
}
Modified:
trunk/ui/listShuttle/src/main/java/org/richfaces/renderkit/ListShuttleRendererBase.java
===================================================================
---
trunk/ui/listShuttle/src/main/java/org/richfaces/renderkit/ListShuttleRendererBase.java 2008-01-03
17:16:29 UTC (rev 5130)
+++
trunk/ui/listShuttle/src/main/java/org/richfaces/renderkit/ListShuttleRendererBase.java 2008-01-03
20:45:41 UTC (rev 5131)
@@ -5,7 +5,6 @@
import java.io.IOException;
import java.io.StringWriter;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
@@ -115,7 +114,7 @@
if (source == listShuttleRowKey.isFacadeSource()) {
ResponseWriter writer = context.getResponseWriter();
- String clientId = holder.getTable().getClientId(context);
+ String clientId = table.getClientId(context);
writer.startElement(HTML.TR_ELEMENT, table);
writer.writeAttribute("id", clientId, null);
Modified: trunk/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx
===================================================================
--- trunk/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx 2008-01-03
17:16:29 UTC (rev 5130)
+++ trunk/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx 2008-01-03
20:45:41 UTC (rev 5131)
@@ -28,6 +28,7 @@
</h:scripts>
<f:clientId var="clientId"/>
+
<table id="#{clientId}" class="rich-list-shuttle
#{component.attributes['styleClass']}"
cellspacing="0" cellpadding="0"
x:passThruWithExclusions="id, class, styleClass">
@@ -47,6 +48,8 @@
Boolean switchByClick = (Boolean)
component.getAttributes().get("switchByClick");
variables.setVariable("switchByClick", switchByClick);
+
+ variables.setVariable("baseClientId",
component.getBaseClientId(context));
]]>
</jsp:scriptlet>
@@ -121,7 +124,7 @@
</td>
<td>
<div class="rich-shuttle-target-items #{component.listClass}" >
- <input type="hidden" value=":" style="display:
none;" name="#{clientId}" />
+ <input type="hidden" value=":" style="display:
none;" name="#{baseClientId}" />
<input id="#{clientId}tlFocusKeeper" type="button"
value="" style="width: 1px; position: absolute; left: -32767px;"/>