[
https://issues.jboss.org/browse/RF-13216?page=com.atlassian.jira.plugin.s...
]
Brian Leathem edited comment on RF-13216 at 9/26/13 11:40 AM:
--------------------------------------------------------------
additional problem:
domElementAttachment="body" will break the ajax actions of the "outer"
form.
consider the following example:
{code}
<h:form>
...
<rich:popupPanel>
<h:form>
<!-- local form needed for actions if we use default behaviour and move the
panel in DOM -->
...
</h:form>
</rich:popupPanel
...
<a4j:commandbutton action="test.action()"/>
</h:form>
{code}
submit the commandButton will not work, because the DOM of the outer form now contains two
hidden fields of "javax.faces.encodedURL" and the javascript code to fetch the
submit-url (jsf.js) will fail in this scenario.
was (Author: nias):
additional problem:
domElementAttachment="body" will break the ajax actions of the "outer"
form.
consider the following example:
<h:form>
...
<rich:popupPanel>
<h:form>
<!-- local form needed for actions if we use default behaviour and move the
panel in DOM -->
...
</h:form>
</rich:popupPanel
...
<a4j:commandbutton action="test.action()"/>
</h:form>
submit the commandButton will not work, because the DOM of the outer form now contains two
hidden fields of "javax.faces.encodedURL" and the javascript code to fetch the
submit-url (jsf.js) will fail in this scenario.
PoupPanel doesn't disappear when rendered="false" and
rerender it.
------------------------------------------------------------------
Key: RF-13216
URL:
https://issues.jboss.org/browse/RF-13216
Project: RichFaces
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: component-output
Affects Versions: 4.3.3
Reporter: Takayuki Konishi
Attachments: rf3_3_4-modalpanel.zip, rf4_3_3-popuppanel.zip
If you use the richfaces popupPanel in the default domElementAttachment="body"
mode it will not disappear under specific conditions.
{code:xml}
<h:body title="page 1">
<a4j:outputPanel id="myPanel">
<rich:popupPanel domElementAttachment="body"
show="true" rendered="#{test.showPopup}">
<h:form>
<a4j:commandButton action="#{test.switchPopup()}"
value="switch off" render="myPanel"/>
</h:form>
</rich:popupPanel>
<h:form>
<a4j:commandButton action="#{test.switchPopup()}"
value="switch on" render="myPanel"/>
</h:form>
</a4j:outputPanel>
</h:body>
{code}
In Richfaces 3.3.x, on the other hand, there was a component cleanup system ({{memory.js
_cleanComponentNodes}}) which was responsible to remove components after ajax calls if the
component was removed from the current view.
Therefore the above example (revert {{popupPanel}} to {{modalPanel}}) works in
RF3.3.4.Final.
Note:
In case {{domElementAttachment="parent"}}, it will show [the other JSF2
bug|https://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-790] where the view state was
lost, therefore you must click the action button twice to really call the function.
--
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