Hi, I noticed that component NavigationPane does not yield events when used through stamping (e.g. MenuModel), nor it calls action methods. However rendering is ok.
Also I noticed that this is due to a difference between id assigned to CommandNavigationItems while rendered and those assigned during restore_view phase. In next fragment:

    <h:form id="tabberForm">
         <tr:navigationPane id="tabber" hint="tabs" value="#{tabBean.tabData}" var="tab">
            <f:facet name="nodeStamp">
                 <tr:commandNavigationItem text="#{tab.label}" actionListener="#{tabBean.navigation}" id="tab"/>
             </f:facet>
             <tr:commandNavigationItem/>
        </tr:navigationPane>
    </h:form>

all tabs are rendered as "tabberForm:tabber:tab", while restore_view expects "tabberForm:tabber:x:tab", where x = 0, 1, 2, ...
This is due to another bug in method NavigationPanelRender.renderContent(), which in case of stamping performs a children loop twice. The first time, each round sets a proper collection index through component.setRowIndex(i), but the second time it does not. As a consequence, tab index will be missing at any following getRowKey(), thus building wrong ids.

-- Renzo



Reply via email to