12 Replies Latest reply on Mar 14, 2007 11:32 AM by sergeysmirnov

    content of rich:panel not rendered

    baz

      Hello,
      i do have this code which is working very well.

      <rich:tabPanel id="expshowtabpanel">
       <rich:tab id="expshow_analysistab" label="#{bundle.analysisLink}">
       <h:panelGrid id="gridanalysistab" columns="1" border="1">
       <ui:decorate template="../facelets/analysisList.xhtml">
       <ui:param name="showSelector" value="true" />
       <ui:define name="action">
       <h:commandButton id="anaedittab"
       action="#{analysisSelector.select}"
       value="#{bundle.editAnalysis}" />
       </ui:define>
       </ui:decorate>
       </h:panelGrid>
      
       </rich:tab>...
      

      Now i want to change the panelGrid into a rich:panel.
      But when i do this, the content of this panel is not rendered:-(
      What i have done was: replaced h:panelGrid with rich:panel and deleted all attributes(id, border, columns)
      This results in a blue borderd box (skin: blueSky) without any contents.
      Is there a reason for this behaviour?
      Seam 1.2.0Patch1 and richfaces 3.0
      Ciao,
      Carsten


        • 1. Re: content of rich:panel not rendered
          baz

          any idea?

          • 2. Re: content of rich:panel not rendered

            sorry for the delay. we have to investigate the issue before make a suggestion. It takes some time.

            • 3. Re: content of rich:panel not rendered
              nbelaevski

              I've created sample application (RF3 & Facelets, without Seam unfortunately) and I cannot see that issue - panel renders fine for me.

              Can you please assist me slightly by sending your application to nbelaevski plus at and exadel.com? Thank you in advance!

              Best regards,
              Nick.

              • 4. Re: content of rich:panel not rendered
                baz

                Hello,
                i will shorten my app over weekend so that i can send it.
                This is not the only issue i have.
                facelets code seam to be rendered differnt when contained in a rich component than in a 'normal' jsf component.
                I have put 2 lists in different tabs and get a duplicate id error.
                When these lists are contained each in a panelgrid on the same page no such behaviour occurs. In my case i was able to delete the id in question.
                I will show you this behaviour in the demo pages next week.

                • 5. Re: content of rich:panel not rendered
                  baz

                  I could assist you now.
                  Given this tiny little facelet:

                  <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets">
                  <body>
                  <ui:component>
                   This is a list
                  </ui:component>
                  </body>
                  </html>
                  

                  And a page using it:
                  <html xmlns="http://www.w3.org/1999/xhtml"
                   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:rich="http://richfaces.ajax4jsf.org/rich">
                  
                  <f:loadBundle basename="lims" var="bundle" />
                  <body>
                  <ui:composition template="/includes/baseLimsPageSimple.xhtml">
                   <ui:define name="title">
                   <h:outputText value="showexperiment" />
                   </ui:define>
                   <ui:define name="body">
                   <h:form id="showexperiment">
                   <rich:tabPanel id="expshowtabpanel">
                   <rich:tab id="expshow_analysistab" label="Analysis">
                   <rich:panel id="gridanalysistab">
                   before
                   <ui:decorate template="../facelets/analysisList.xhtml">
                   </ui:decorate>
                   after
                   </rich:panel>
                   </rich:tab>
                   <rich:tab id="expshow_samplestab" label="Samples">
                   <rich:panel>
                   test1
                   </rich:panel>
                   </rich:tab>
                   </rich:tabPanel>
                  
                   <rich:tabPanel id="secondpanel">
                   <rich:tab id="xyz" label="Analysis">
                   <h:panelGrid columns="1">
                   before
                   <ui:decorate template="../facelets/analysisList.xhtml">
                   </ui:decorate>
                   after
                   </h:panelGrid>
                   </rich:tab>
                   <rich:tab id="tab2sample" label="Samples">
                   <rich:panel>
                   test2
                   </rich:panel>
                  
                   </rich:tab>
                   </rich:tabPanel>
                   </h:form>
                   </ui:define>
                  </ui:composition>
                  </body>
                  </html>
                  

                  with baseLimsPageSimple.xhtml =
                  <html xmlns="http://www.w3.org/1999/xhtml"
                   xmlns:ui="http://java.sun.com/jsf/facelets">
                  <body class="page-backgroundsimple">
                  <ui:insert name="body">Default Body</ui:insert>
                  </body>
                  </html>
                  

                  You will see 2 tabPanels
                  The first does only render 'before after' where the second
                  renders 'before This is a list after'
                  Hope this helps?
                  All special stuff is deleted this is pure facelets without any backing or seam bean.
                  Ciao,
                  Carsten

                  • 6. Re: content of rich:panel not rendered
                    baz

                    oh, you have to delete the f:loadbundle line, sorry

                    • 7. Re: content of rich:panel not rendered

                      ok, i'm running into this in my app too. I'm running facelets v1.1.12 with richfaces-3.0.0.


                      This renders fine if the form is placed in the header facet:

                      <rich:panel>
                       <f:facet name="header" >
                       Navigation Panel
                      
                       <h:form id="navigationForm">
                       <h:commandLink id="addCompany" value="Add Company"
                       action="addCompany" />
                       <br />
                       <h:commandLink id="addProduct" value="Add Product"
                       action="addProduct" />
                       <br />
                       <h:commandLink id="addCategory" value="Add Category"
                       action="addCategory" />
                       <br />
                       <h:commandLink id="addContact" value="Add Contact"
                       action="addContact" />
                       <br />
                      
                       <h:commandLink id="register" value="Register New User"
                       action="register" />
                       <br />
                       <br />
                       <br />
                       <h:commandLink id="goToEmailSection" value="Email"
                       action="goToEmailSection" />
                       <br />
                       <h:commandLink id="manageToDoList" value="To-Do List"
                       action="manageToDoList"/>
                       </h:form>
                       </f:facet>
                      </rich:panel>


                      but the links won't render at all if this put in the body, like so:

                      <rich:panel>
                       <f:facet name="header" >
                       Navigation Panel
                       </f:facet>
                      
                      
                       <h:form id="navigationForm">
                       <h:commandLink id="addCompany" value="Add Company"
                       action="addCompany" />
                       <br />
                       <h:commandLink id="addProduct" value="Add Product"
                       action="addProduct" />
                       <br />
                       <h:commandLink id="addCategory" value="Add Category"
                       action="addCategory" />
                       <br />
                       <h:commandLink id="addContact" value="Add Contact"
                       action="addContact" />
                       <br />
                      
                       <h:commandLink id="register" value="Register New User"
                       action="register" />
                       <br />
                       <br />
                       <br />
                       <h:commandLink id="goToEmailSection" value="Email"
                       action="goToEmailSection" />
                       <br />
                       <h:commandLink id="manageToDoList" value="To-Do List"
                       action="manageToDoList"/>
                       </h:form>
                      
                      </rich:panel>


                      • 8. Re: content of rich:panel not rendered

                        Thank you guys. It looks like the problem is localized now.

                        The following addition is a workaround:

                        <rich:panel>
                         <f:facet name="header" >
                         Navigation Panel
                         </f:facet>
                        
                         <h:panelGroup>
                         <h:form id="navigationForm">
                         <h:commandLink id="addCompany" value="Add Company"
                         action="addCompany" />
                         <br />
                         <h:commandLink id="addProduct" value="Add Product"
                         action="addProduct" />
                         <br />
                         <h:commandLink id="addCategory" value="Add Category"
                         action="addCategory" />
                         <br />
                         <h:commandLink id="addContact" value="Add Contact"
                         action="addContact" />
                         <br />
                        
                         <h:commandLink id="register" value="Register New User"
                         action="register" />
                         <br />
                         <br />
                         <br />
                         <h:commandLink id="goToEmailSection" value="Email"
                         action="goToEmailSection" />
                         <br />
                         <h:commandLink id="manageToDoList" value="To-Do List"
                         action="manageToDoList"/>
                         </h:form>
                         </h:panelGroup>
                        
                        </rich:panel>
                        
                        


                        • 9. Re: content of rich:panel not rendered
                          • 10. Re: content of rich:panel not rendered
                            baz

                            The given workaround does not work for me.
                            But i can use h:panelGrid instead of panelGroup

                            With panelGroup all components are lined up in one line.
                            with panelGrid i get the desired behaviour of one component per line.

                            What is the estimate that this will be fixed?

                            • 11. Re: content of rich:panel not rendered
                              baz

                              The given workaround does not work for me.
                              But i can use h:panelGrid instead of panelGroup

                              With panelGroup all components are lined up in one line.
                              with panelGrid i get the desired behaviour of one component per line.

                              What is the estimate that this will be fixed?

                              • 12. Re: content of rich:panel not rendered

                                It is already fixed in SVN.

                                We are in process to establish the SNAPSHOTs building on daily bases.

                                If you need the fix right now, you can download the demo war and take two SNAPSHOT jar files from there:
                                http://www.jboss.com/index.html?module=bb&op=viewtopic&t=103938