You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Rich Schaaf <rs...@commoninf.com> on 2012/10/23 14:14:34 UTC

[Trinidad]: selectManyShuttle seems to block when there is a selected item

I'm trying to use the Trinidad selectManyShuttle component and I find that
if I bind the value of the component, then while an item is selected in
either the leading or trailing lists of the shuttle component, commandLinks
on the page are blocked.  If I click either the "move all", or "remove all"
buttons to move all of the items in the shuttle to either the trailing or
leading list (thereby deselecting individual items in the list), then the
commandLinks on the page become unblocked.  I've boiled the problem down to
the simple example given below.

Any suggestions for either what I'm doing wrong in my use of the component
or a workaround?

Library versions:
Originally encountered on MyFaces 2.0.5 / Trinidad 2.0.0
Reproduced on the latest versions: MyFaces 2.1.9 / Trinidad 2.0.1

Browsers:
Problem happens in both FireFox 16.0.1 and IE 8.


Page1.xhtml:

<tr:document
   xmlns:ui="http://java.sun.com/jsf/facelets"
   xmlns:h="http://java.sun.com/jsf/html"
   xmlns:f="http://java.sun.com/jsf/core"
   xmlns:tr="http://myfaces.apache.org/trinidad">

<tr:form>
<tr:commandLink text="Link"
action="#{selectmanyshuttlebacking.someAction}"/>

<tr:selectManyShuttle value = "#{selectmanyshuttlebacking.shuttleItems}">
    <tr:selectItem label="Apple" value="1" />
    <tr:selectItem label="Orange" value="2" />
</tr:selectManyShuttle>  

</tr:form>
</tr:document>



SelectManyShuttleBacking.java:

package org.apache.myfaces.trinidad.blank;

import javax.faces.bean.ManagedBean;

@ManagedBean(name="selectmanyshuttlebacking")
public class SelectManyShuttleBacking {
	public SelectManyShuttleBacking() {	
	}
	
	private Integer[] m_shuttleItems = null;
	public Integer[] getShuttleItems() {
		return m_shuttleItems;
	}	
	
	public void setShuttleItems(Integer[] shuttleItems) {
		m_shuttleItems = shuttleItems;
	}
	
	public String someAction() {
		return "outcome";
	}
}