[richfaces-issues] [JBoss JIRA] Updated: (RF-7962) Dynamically generated TabPanel

Lukas Fryc (JIRA) jira-events at lists.jboss.org
Thu Oct 8 07:28:06 EDT 2009


     [ https://jira.jboss.org/jira/browse/RF-7962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lukas Fryc updated RF-7962:
---------------------------

    Attachment: dyntabpanel.tar.gz


> Dynamically generated TabPanel
> ------------------------------
>
>                 Key: RF-7962
>                 URL: https://jira.jboss.org/jira/browse/RF-7962
>             Project: RichFaces
>          Issue Type: Bug
>          Components: component
>    Affects Versions: 3.3.2.GA
>         Environment: JBoss AS 5.1.0.GA, JDK6
>            Reporter: Lukas Fryc
>            Assignee: Ilya Shaikovsky
>         Attachments: dyntabpanel.tar.gz
>
>
> When generates rich:tabPanel dynamically using c:forEach, the model doesn't accept removing and adding again the rich:tab with the same id.
> Maven sample attached (dyntabpanel.tar.gz).
> Reproducing:
> 1. open application /dyntabpanel
> 2. let inputText as "2"
> 3. click Remove (the tab with "2" disappers)
> 4. click Add (EXCEPTION)
> [code]
> package org.richfaces.samples.dyntabpanel;
> import java.util.Arrays;
> import java.util.LinkedList;
> import java.util.List;
> public class Bean {
> 	List<String> tabs = new LinkedList<String>(Arrays.asList(new String[] {"1", "2", "3"}));
> 	String number = "2";
> 	
> 	public String getNumber() {
> 		return number;
> 	}
> 	
> 	public void setNumber(String number) {
> 		this.number = number;
> 	}
> 	
> 	public String[] getNumberArray() {
> 		return tabs.toArray(new String[tabs.size()]);
> 	}
> 	
> 	public void remove() {
> 		if (tabs.contains(number)) {
> 			tabs.remove(number);
> 		}
> 	}
> 	
> 	public void add() {
> 		if (!tabs.contains(number)) {
> 			tabs.add(number);
> 		}
> 	}
> }
> [/code]
> [code]
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml"
> 	xmlns:c="http://java.sun.com/jstl/core"
> 	xmlns:f="http://java.sun.com/jsf/core"
> 	xmlns:h="http://java.sun.com/jsf/html"
> 	xmlns:ui="http://java.sun.com/jsf/facelets"
> 	xmlns:a4j="http://richfaces.org/a4j"
> 	xmlns:rich="http://richfaces.org/rich">
> <head>
> <title></title>
> </head>
> <body>
> <f:view>
> 	<ui:debug />
> 	
> 	<h:form>
> 		<h:inputText value="#{bean.number}" />
> 		<a4j:commandButton value="Add" action="#{bean.add}" reRender="numbers" />
> 		<a4j:commandButton value="Remove" action="#{bean.remove}" reRender="numbers" />
> 	</h:form>
> 	
> 	<rich:tabPanel switchType="ajax" id="numbers">
> 		<c:forEach items="#{bean.numberArray}" var="number">
> 			<rich:tab id="tab#{number}" label="#{number}" />
> 		</c:forEach>
> 	</rich:tabPanel>
> </f:view>
> </body>
> </html>
> [/cpde]

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the richfaces-issues mailing list