[richfaces-issues] [JBoss JIRA] (RF-12789) TabPanel error after partial update with new tab

Lutz Ulrich (JIRA) jira-events at lists.jboss.org
Mon Feb 18 09:53:56 EST 2013


    [ https://issues.jboss.org/browse/RF-12789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12754770#comment-12754770 ] 

Lutz Ulrich edited comment on RF-12789 at 2/18/13 9:53 AM:
-----------------------------------------------------------

Here you are:

dynamicTab.xhtml contains an initial static rich:tabPanel with an initial rich:tab.
Via the binding attribute, the tabPanel UIComponent is bound to my dynamicTabBean's 'staticTabPanel' property.
dynamicTabBean is an instance of my Java class test.DynamicTabBean. 

The commandButton 'Add tab' invokes DynamicTabBean.addTab().
This adds a UITab to the staticTabPanel.
The staticTabPanel is re-rendered due to <f:ajax render="staticTabPanel">.

The new tab shows up.
But the <script> element at the end of <body>, which is supposed to contain RichFaces script code for all tabPanels and tabs is NOT re-rendered. Thus, one cannot switch from the initial static tab to the dynamically added new tab.


The commandButton 'Add tabPanel' invokes DynamicTabBean.addTabPanel().
A new tabPanel with 2 tabs is added.
The new tabPanel shows up. But one cannot switch its tabs due to similar problems as with the new single tab above.



                
      was (Author: lutzulrich):
    Here you are:


                  
> TabPanel error after partial update with new tab
> ------------------------------------------------
>
>                 Key: RF-12789
>                 URL: https://issues.jboss.org/browse/RF-12789
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: component-panels-layout-themes
>    Affects Versions: 4.3.0.CR2
>         Environment: Mojarra 2.1.17, Tomcat 7.0.22, Java 1.7, Windows 7
>            Reporter: Lutz Ulrich
>            Assignee: Lukáš Fryč
>              Labels: Tab, TabPanel, dynamical-add
>             Fix For: 4.3.1
>
>   Original Estimate: 2 hours
>  Remaining Estimate: 2 hours
>
> Adding tabs dynamically (programatically) in partial requests results in errors.
> The JavaScript code for all TabPanels and their child Tabs is added to HTML <body> using JavaScriptService.addScript(FacesContext, S), see DivPanelRenderer.writeJavaScript(), TabRenderer.doEncodeItemEnd() and TabRenderer.doEncodeEnd().
> The top-level <script> element in <body> won't be updated if a new Tab is added dynamically in a partial request. Thus, the script, new RichFaces.ui.Tab(...), for the new Tab is missing.
> Similar problems arise if a TabPanel is added in a partial request.
> All scripts, RichFaces.ui.Tab(...) and RichFaces.ui.TabPanel(...) should be rendered inline for partial update to work with new TabPanels and new Tabs. 

--
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



More information about the richfaces-issues mailing list