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

Brian Leathem updated RF-12546:
-------------------------------

    Steps to Reproduce: 
Create a new.user.xhtml file :

{code}
<?xml version='1.0' encoding='UTF-8' ?>
<!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:h="http://java.sun.com/jsf/html";
        xmlns:f="http://java.sun.com/jsf/core";
        xmlns:ui="http://java.sun.com/jsf/facelets";
        xmlns:a4j="http://richfaces.org/a4j";
        xmlns:rich="http://richfaces.org/rich";>

<h:head>
        <title>Test</title>
</h:head>

<h:body>
        <h:form>
                <h:panelGrid columns="2">

                        <h:outputText value="User name" />
                        <h:inputText value="#{dataBean.user.name}" />

                        <h:outputText value="Profile" />
                                        <h:selectOneMenu 
value="#{dataBean.profiles}">
                                <f:selectItems value="#{dataBean.profiles}" 
var="p"
                                        itemLabel="#{p.name} - #{p.id}" 
itemValue="#{p.id}" />
                                        </h:selectOneMenu>

                        <h:outputText value="Last update" />
                        <rich:calendar />

                </h:panelGrid>

        </h:form>
</h:body>
</html>
{code}

and a DataBean class :

{code}
import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class DataBean {
        User user;
        
        public List<Profile> getProfiles(){
                List<Profile> profiles = new ArrayList<Profile>();
                profiles.add(new Profile(1L,"Profile 1"));
                profiles.add(new Profile(2L,"Profile 2"));
                profiles.add(new Profile(3L,"Profile 3"));
                profiles.add(new Profile(4L,"Profile 4"));
                profiles.add(new Profile(5L,"Profile 5"));
                return profiles;
        }
        
        public User getUser() {
                return user;
        }
}

Dependent classes are :

public class Profile {
        Long id;
        String name;
        Long profileId;
        
        public Profile(){
                
        }

        public Profile(Long id, String name) {
                super();
                this.id = id;
                this.name = name;
        }


        public Long getId() {
                return id;
        }

        public void setId(Long id) {
                this.id = id;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }
        
        
}

and

public class User {
        Long id;
        String name;
        Long profileId;
        public User(){
                
        }


        public User(Long id, String name) {
                super();
                this.id = id;
                this.name = name;
        }


        public Long getId() {
                return id;
        }

        public void setId(Long id) {
                this.id = id;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }


        public User(Long id, String name, Long profileId) {
                super();
                this.id = id;
                this.name = name;
                this.profileId = profileId;
        }


        public Long getProfileId() {
                return profileId;
        }


        public void setProfileId(Long profileId) {
                this.profileId = profileId;
        }
        
        
}
{code}

Then open the new.user.xhtml. The layout is broken

  was:
Create a new.user.xhtml file :
<?xml version='1.0' encoding='UTF-8' ?>
<!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:h="http://java.sun.com/jsf/html";
        xmlns:f="http://java.sun.com/jsf/core";
        xmlns:ui="http://java.sun.com/jsf/facelets";
        xmlns:a4j="http://richfaces.org/a4j";
        xmlns:rich="http://richfaces.org/rich";>

<h:head>
        <title>Test</title>
</h:head>

<h:body>
        <h:form>
                <h:panelGrid columns="2">

                        <h:outputText value="User name" />
                        <h:inputText value="#{dataBean.user.name}" />

                        <h:outputText value="Profile" />
                                        <h:selectOneMenu 
value="#{dataBean.profiles}">
                                <f:selectItems value="#{dataBean.profiles}" 
var="p"
                                        itemLabel="#{p.name} - #{p.id}" 
itemValue="#{p.id}" />
                                        </h:selectOneMenu>

                        <h:outputText value="Last update" />
                        <rich:calendar />

                </h:panelGrid>

        </h:form>
</h:body>
</html>

and a DataBean class :


import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class DataBean {
        User user;
        
        public List<Profile> getProfiles(){
                List<Profile> profiles = new ArrayList<Profile>();
                profiles.add(new Profile(1L,"Profile 1"));
                profiles.add(new Profile(2L,"Profile 2"));
                profiles.add(new Profile(3L,"Profile 3"));
                profiles.add(new Profile(4L,"Profile 4"));
                profiles.add(new Profile(5L,"Profile 5"));
                return profiles;
        }
        
        public User getUser() {
                return user;
        }
}

Dependent classes are :

public class Profile {
        Long id;
        String name;
        Long profileId;
        
        public Profile(){
                
        }

        public Profile(Long id, String name) {
                super();
                this.id = id;
                this.name = name;
        }


        public Long getId() {
                return id;
        }

        public void setId(Long id) {
                this.id = id;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }
        
        
}

and

public class User {
        Long id;
        String name;
        Long profileId;
        public User(){
                
        }


        public User(Long id, String name) {
                super();
                this.id = id;
                this.name = name;
        }


        public Long getId() {
                return id;
        }

        public void setId(Long id) {
                this.id = id;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }


        public User(Long id, String name, Long profileId) {
                super();
                this.id = id;
                this.name = name;
                this.profileId = profileId;
        }


        public Long getProfileId() {
                return profileId;
        }


        public void setProfileId(Long profileId) {
                this.profileId = profileId;
        }
        
        
}

Then open the new.user.xhtml. The layout is broken


    
> h:selectOneMenu with f:selectItems layout problem
> -------------------------------------------------
>
>                 Key: RF-12546
>                 URL: https://issues.jboss.org/browse/RF-12546
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: component-menu
>    Affects Versions: 4.2.3.Final
>         Environment: mac os 10.7, java 7, jboss tools
>            Reporter: olivier smadja
>            Priority: Critical
>         Attachments: Screen Shot 2012-10-21 at 9.08.01 AM.png
>
>
> I'm creating a simple 'new user' form with 3 fields : a textfield with the 
> name , a combo with the list of profiles and a calendar.
> I use <h:panelGrid columns="2"> to layout the form with 2 columns. When the 
> combo is built with h:selectOneMenu with f:selectItems (loading data 
> dynamically from a list), the layout is broken : It seems the 
> <h:selectOneMenu> creates extra content (before combo content) that breaks 
> the 2 columns layout.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to