Hi all,
I have a problem with buttons that launch dialogs. I place a CommandButton
or CommandLink inside facet="actions" of a <tr:table> in this way:
<tr:table id="tabla" rows="10" rowBandingInterval="1"
columnBandingInterval="0"
selectionListener="#{accionBean.seleccionar}"
rowSelection="multiple" autoSubmit="true">
<f:facet name="actions">
<tr:panelGroup>
<tr:commandButton id="generar" partialSubmit="true"
useWindow="true"
action="#{accionBean.generarPropuesta}"
windowHeight="800" windowWidth="700" />
<tr:commandButton id="editarLinea"
partialSubmit="true"
useWindow="true"
action="#{accionBean.editarLinea}"
windowHeight="800" windowWidth="700" />
</tr:panlGroup>
</f:facet>
...
</tr:table>
When the user clicks on the button, the dialog is launched and the
associated code is executed. But when the user closes the dialog, the
returnListener is not called.
I have been debugging the application and it seems that in the method public
boolean isReturning(FacesContext context, UIComponent source) in the class
org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderKit when
looking for the returnListener to execute, the id of the component is
tabla:0:generar instead of tabla:generar, which causes the ReturnEvent not
to be queued.
If I place the buttons out of the table, the dialog is launched and the
returnListener is executed as expected. Any of you have experienced this
behaviour? Should I file a bug?
Regards,
- - Rafa