[JBoss JIRA] (RF-12752) PopupPanel rendering error with Liferay Faces Bridge
by Christophe Noel (JIRA)
[ https://issues.jboss.org/browse/RF-12752?page=com.atlassian.jira.plugin.s... ]
Christophe Noel edited comment on RF-12752 at 1/23/13 6:47 AM:
---------------------------------------------------------------
Note that the workaround (render something inside the popup) is ok but off course, I cannot rerender anything in the popup header using that method.
Please see the following richfaces log:
{code}
info [12:45:31.726]: Received 'begin' event from <input id=A8569:j_idt126 ...>
info [12:45:31.766]: Received 'beforedomupdate' event from <input id=A8569:j_idt126 ...>
debug[12:45:31.766]: Server returned responseText: <partial-response><changes><update id="A8569:offeringInfoPanel"><![CDATA[<div id="A8569:offeringInfoPanel" style="visibility: hidden;"><div class="rf-pp-cntr " id="A8569:offeringInfoPanel_container" style="position: fixed; z-index:100; "><div class="rf-pp-shdw" id="A8569:offeringInfoPanel_shadow"></div><div class="rf-pp-cnt-scrlr" id="A8569:offeringInfoPanel_content_scroller"><div class="rf-pp-cnt" id="A8569:offeringInfoPanel_content"><input id="A8569:j_idt126" name="A8569:j_idt126" onclick="RichFaces.ajax("A8569:j_idt126",event,{"incId":"1"} );return false;" value="test" type="submit" /></div></div><div class="rf-pp-hndlr rf-pp-hndlr-l" id="A8569:offeringInfoPanelResizerW"></div><div class="rf-pp-hndlr rf-pp-hndlr-r" id="A8569:offeringInfoPanelResizerE"></div><div class="rf-pp-hndlr rf-pp-hndlr-t" id="A8569:offeringInfoPanelResizerN"></div><div class="rf-pp-hndlr rf-pp-hndlr-b" id="A8569:offeringInfoPanelResizerS"></div><div class="rf-pp-hndlr rf-pp-hndlr-tl" id="A8569:offeringInfoPanelResizerNW"></div><div class="rf-pp-hndlr rf-pp-hndlr-tr" id="A8569:offeringInfoPanelResizerNE"></div><div class="rf-pp-hndlr rf-pp-hndlr-bl" id="A8569:offeringInfoPanelResizerSW"></div><div class="rf-pp-hndlr rf-pp-hndlr-br" id="A8569:offeringInfoPanelResizerSE"></div></div><script type="text/javascript">new RichFaces.ui.PopupPanel("A8569:offeringInfoPanel",{"modal":false,"resizeable":true} );</script></div>]]></update><update id="A8569:uiSearchForm:j_idt13"><![CDATA[<span id="A8569:uiSearchForm:j_idt13"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[9218369285307751802:-4584128044205800386]]></update></changes></partial-response>
info [12:45:31.770]: Listing content of response changes element:
Element update for id=A8569:offeringInfoPanel
<update id="A8569:offeringInfoPanel"><![CDATA[<div id="A8569:offeringInfoPanel" style="visibility: hidden;"><div class="rf-pp-cntr " id="A8569:offeringInfoPanel_container" style="position: fixed; z-index:100; "><div class="rf-pp-shdw" id="A8569:offeringInfoPanel_shadow"></div><div class="rf-pp-cnt-scrlr" id="A8569:offeringInfoPanel_content_scroller"><div class="rf-pp-cnt" id="A8569:offeringInfoPanel_content"><input id="A8569:j_idt126" name="A8569:j_idt126" onclick="RichFaces.ajax("A8569:j_idt126",event,{"incId":"1"} );return false;" value="test" type="submit" /></div></div><div class="rf-pp-hndlr rf-pp-hndlr-l" id="A8569:offeringInfoPanelResizerW"></div><div class="rf-pp-hndlr rf-pp-hndlr-r" id="A8569:offeringInfoPanelResizerE"></div><div class="rf-pp-hndlr rf-pp-hndlr-t" id="A8569:offeringInfoPanelResizerN"></div><div class="rf-pp-hndlr rf-pp-hndlr-b" id="A8569:offeringInfoPanelResizerS"></div><div class="rf-pp-hndlr rf-pp-hndlr-tl" id="A8569:offeringInfoPanelResizerNW"></div><div class="rf-pp-hndlr rf-pp-hndlr-tr" id="A8569:offeringInfoPanelResizerNE"></div><div class="rf-pp-hndlr rf-pp-hndlr-bl" id="A8569:offeringInfoPanelResizerSW"></div><div class="rf-pp-hndlr rf-pp-hndlr-br" id="A8569:offeringInfoPanelResizerSE"></div></div><script type="text/javascript">new RichFaces.ui.PopupPanel("A8569:offeringInfoPanel",{"modal":false,"resizeable":true} );</script></div>]]></update>
Element update for id=A8569:uiSearchForm:j_idt13
<update id="A8569:uiSearchForm:j_idt13"><![CDATA[<span id="A8569:uiSearchForm:j_idt13"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[9218369285307751802:-4584128044205800386]]></update>
error[12:45:31.771]: Received 'error@malformedXML' event from <input id=A8569:j_idt126 ...>
error[12:45:31.771]: [200] undefined: undefined
info [12:45:31.772]: Received 'complete' event from <input id=A8569:j_idt126 ...>
{code}
was (Author: christophe.noel):
Please see the following richfaces log:
{code}
info [12:45:31.726]: Received 'begin' event from <input id=A8569:j_idt126 ...>
info [12:45:31.766]: Received 'beforedomupdate' event from <input id=A8569:j_idt126 ...>
debug[12:45:31.766]: Server returned responseText: <partial-response><changes><update id="A8569:offeringInfoPanel"><![CDATA[<div id="A8569:offeringInfoPanel" style="visibility: hidden;"><div class="rf-pp-cntr " id="A8569:offeringInfoPanel_container" style="position: fixed; z-index:100; "><div class="rf-pp-shdw" id="A8569:offeringInfoPanel_shadow"></div><div class="rf-pp-cnt-scrlr" id="A8569:offeringInfoPanel_content_scroller"><div class="rf-pp-cnt" id="A8569:offeringInfoPanel_content"><input id="A8569:j_idt126" name="A8569:j_idt126" onclick="RichFaces.ajax("A8569:j_idt126",event,{"incId":"1"} );return false;" value="test" type="submit" /></div></div><div class="rf-pp-hndlr rf-pp-hndlr-l" id="A8569:offeringInfoPanelResizerW"></div><div class="rf-pp-hndlr rf-pp-hndlr-r" id="A8569:offeringInfoPanelResizerE"></div><div class="rf-pp-hndlr rf-pp-hndlr-t" id="A8569:offeringInfoPanelResizerN"></div><div class="rf-pp-hndlr rf-pp-hndlr-b" id="A8569:offeringInfoPanelResizerS"></div><div class="rf-pp-hndlr rf-pp-hndlr-tl" id="A8569:offeringInfoPanelResizerNW"></div><div class="rf-pp-hndlr rf-pp-hndlr-tr" id="A8569:offeringInfoPanelResizerNE"></div><div class="rf-pp-hndlr rf-pp-hndlr-bl" id="A8569:offeringInfoPanelResizerSW"></div><div class="rf-pp-hndlr rf-pp-hndlr-br" id="A8569:offeringInfoPanelResizerSE"></div></div><script type="text/javascript">new RichFaces.ui.PopupPanel("A8569:offeringInfoPanel",{"modal":false,"resizeable":true} );</script></div>]]></update><update id="A8569:uiSearchForm:j_idt13"><![CDATA[<span id="A8569:uiSearchForm:j_idt13"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[9218369285307751802:-4584128044205800386]]></update></changes></partial-response>
info [12:45:31.770]: Listing content of response changes element:
Element update for id=A8569:offeringInfoPanel
<update id="A8569:offeringInfoPanel"><![CDATA[<div id="A8569:offeringInfoPanel" style="visibility: hidden;"><div class="rf-pp-cntr " id="A8569:offeringInfoPanel_container" style="position: fixed; z-index:100; "><div class="rf-pp-shdw" id="A8569:offeringInfoPanel_shadow"></div><div class="rf-pp-cnt-scrlr" id="A8569:offeringInfoPanel_content_scroller"><div class="rf-pp-cnt" id="A8569:offeringInfoPanel_content"><input id="A8569:j_idt126" name="A8569:j_idt126" onclick="RichFaces.ajax("A8569:j_idt126",event,{"incId":"1"} );return false;" value="test" type="submit" /></div></div><div class="rf-pp-hndlr rf-pp-hndlr-l" id="A8569:offeringInfoPanelResizerW"></div><div class="rf-pp-hndlr rf-pp-hndlr-r" id="A8569:offeringInfoPanelResizerE"></div><div class="rf-pp-hndlr rf-pp-hndlr-t" id="A8569:offeringInfoPanelResizerN"></div><div class="rf-pp-hndlr rf-pp-hndlr-b" id="A8569:offeringInfoPanelResizerS"></div><div class="rf-pp-hndlr rf-pp-hndlr-tl" id="A8569:offeringInfoPanelResizerNW"></div><div class="rf-pp-hndlr rf-pp-hndlr-tr" id="A8569:offeringInfoPanelResizerNE"></div><div class="rf-pp-hndlr rf-pp-hndlr-bl" id="A8569:offeringInfoPanelResizerSW"></div><div class="rf-pp-hndlr rf-pp-hndlr-br" id="A8569:offeringInfoPanelResizerSE"></div></div><script type="text/javascript">new RichFaces.ui.PopupPanel("A8569:offeringInfoPanel",{"modal":false,"resizeable":true} );</script></div>]]></update>
Element update for id=A8569:uiSearchForm:j_idt13
<update id="A8569:uiSearchForm:j_idt13"><![CDATA[<span id="A8569:uiSearchForm:j_idt13"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[9218369285307751802:-4584128044205800386]]></update>
error[12:45:31.771]: Received 'error@malformedXML' event from <input id=A8569:j_idt126 ...>
error[12:45:31.771]: [200] undefined: undefined
info [12:45:31.772]: Received 'complete' event from <input id=A8569:j_idt126 ...>
{code}
> PopupPanel rendering error with Liferay Faces Bridge
> ----------------------------------------------------
>
> Key: RF-12752
> URL: https://issues.jboss.org/browse/RF-12752
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component
> Affects Versions: 4.2.0.Final, 4.2.3.Final
> Environment: LiferayFacesBridge3.1.0 Tomcat6 Liferay6.0.5
> Reporter: Christophe Noel
>
> https://community.jboss.org/thread/220433
--
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
11 years, 11 months
[JBoss JIRA] (RF-12752) PopupPanel rendering error with Liferay Faces Bridge
by Christophe Noel (JIRA)
[ https://issues.jboss.org/browse/RF-12752?page=com.atlassian.jira.plugin.s... ]
Christophe Noel commented on RF-12752:
--------------------------------------
Please see the following richfaces log:
{code}
info [12:45:31.726]: Received 'begin' event from <input id=A8569:j_idt126 ...>
info [12:45:31.766]: Received 'beforedomupdate' event from <input id=A8569:j_idt126 ...>
debug[12:45:31.766]: Server returned responseText: <partial-response><changes><update id="A8569:offeringInfoPanel"><![CDATA[<div id="A8569:offeringInfoPanel" style="visibility: hidden;"><div class="rf-pp-cntr " id="A8569:offeringInfoPanel_container" style="position: fixed; z-index:100; "><div class="rf-pp-shdw" id="A8569:offeringInfoPanel_shadow"></div><div class="rf-pp-cnt-scrlr" id="A8569:offeringInfoPanel_content_scroller"><div class="rf-pp-cnt" id="A8569:offeringInfoPanel_content"><input id="A8569:j_idt126" name="A8569:j_idt126" onclick="RichFaces.ajax("A8569:j_idt126",event,{"incId":"1"} );return false;" value="test" type="submit" /></div></div><div class="rf-pp-hndlr rf-pp-hndlr-l" id="A8569:offeringInfoPanelResizerW"></div><div class="rf-pp-hndlr rf-pp-hndlr-r" id="A8569:offeringInfoPanelResizerE"></div><div class="rf-pp-hndlr rf-pp-hndlr-t" id="A8569:offeringInfoPanelResizerN"></div><div class="rf-pp-hndlr rf-pp-hndlr-b" id="A8569:offeringInfoPanelResizerS"></div><div class="rf-pp-hndlr rf-pp-hndlr-tl" id="A8569:offeringInfoPanelResizerNW"></div><div class="rf-pp-hndlr rf-pp-hndlr-tr" id="A8569:offeringInfoPanelResizerNE"></div><div class="rf-pp-hndlr rf-pp-hndlr-bl" id="A8569:offeringInfoPanelResizerSW"></div><div class="rf-pp-hndlr rf-pp-hndlr-br" id="A8569:offeringInfoPanelResizerSE"></div></div><script type="text/javascript">new RichFaces.ui.PopupPanel("A8569:offeringInfoPanel",{"modal":false,"resizeable":true} );</script></div>]]></update><update id="A8569:uiSearchForm:j_idt13"><![CDATA[<span id="A8569:uiSearchForm:j_idt13"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[9218369285307751802:-4584128044205800386]]></update></changes></partial-response>
info [12:45:31.770]: Listing content of response changes element:
Element update for id=A8569:offeringInfoPanel
<update id="A8569:offeringInfoPanel"><![CDATA[<div id="A8569:offeringInfoPanel" style="visibility: hidden;"><div class="rf-pp-cntr " id="A8569:offeringInfoPanel_container" style="position: fixed; z-index:100; "><div class="rf-pp-shdw" id="A8569:offeringInfoPanel_shadow"></div><div class="rf-pp-cnt-scrlr" id="A8569:offeringInfoPanel_content_scroller"><div class="rf-pp-cnt" id="A8569:offeringInfoPanel_content"><input id="A8569:j_idt126" name="A8569:j_idt126" onclick="RichFaces.ajax("A8569:j_idt126",event,{"incId":"1"} );return false;" value="test" type="submit" /></div></div><div class="rf-pp-hndlr rf-pp-hndlr-l" id="A8569:offeringInfoPanelResizerW"></div><div class="rf-pp-hndlr rf-pp-hndlr-r" id="A8569:offeringInfoPanelResizerE"></div><div class="rf-pp-hndlr rf-pp-hndlr-t" id="A8569:offeringInfoPanelResizerN"></div><div class="rf-pp-hndlr rf-pp-hndlr-b" id="A8569:offeringInfoPanelResizerS"></div><div class="rf-pp-hndlr rf-pp-hndlr-tl" id="A8569:offeringInfoPanelResizerNW"></div><div class="rf-pp-hndlr rf-pp-hndlr-tr" id="A8569:offeringInfoPanelResizerNE"></div><div class="rf-pp-hndlr rf-pp-hndlr-bl" id="A8569:offeringInfoPanelResizerSW"></div><div class="rf-pp-hndlr rf-pp-hndlr-br" id="A8569:offeringInfoPanelResizerSE"></div></div><script type="text/javascript">new RichFaces.ui.PopupPanel("A8569:offeringInfoPanel",{"modal":false,"resizeable":true} );</script></div>]]></update>
Element update for id=A8569:uiSearchForm:j_idt13
<update id="A8569:uiSearchForm:j_idt13"><![CDATA[<span id="A8569:uiSearchForm:j_idt13"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[9218369285307751802:-4584128044205800386]]></update>
error[12:45:31.771]: Received 'error@malformedXML' event from <input id=A8569:j_idt126 ...>
error[12:45:31.771]: [200] undefined: undefined
info [12:45:31.772]: Received 'complete' event from <input id=A8569:j_idt126 ...>
{code}
> PopupPanel rendering error with Liferay Faces Bridge
> ----------------------------------------------------
>
> Key: RF-12752
> URL: https://issues.jboss.org/browse/RF-12752
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component
> Affects Versions: 4.2.0.Final, 4.2.3.Final
> Environment: LiferayFacesBridge3.1.0 Tomcat6 Liferay6.0.5
> Reporter: Christophe Noel
>
> https://community.jboss.org/thread/220433
--
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
11 years, 11 months
[JBoss JIRA] (RF-11365) onbeforedomupdate and oncomplete not working in Portlet environment
by Christophe Noel (JIRA)
[ https://issues.jboss.org/browse/RF-11365?page=com.atlassian.jira.plugin.s... ]
Christophe Noel edited comment on RF-11365 at 1/23/13 5:52 AM:
---------------------------------------------------------------
Hello,
I encountered the same issue, using Liferay Faces Bridge 3.1.0 rc2.
(Same issue using: RF 4.2.0 and 4.2.2)
The fix (in Richfaces library) proposed in Liferay Faces Bridge forum works ! (here: http://issues.liferay.com/browse/FACES-249)
META-INF/resources/richfaces.js line 333 :
{code}
var getExtensionResponseElement = function(responseXML) {
return jQuery("partial-response extension#org\\.richfaces\\.extension", responseXML);
};
{code}
My own code:
{code:xml}
<a4j:commandButton id="myTestButton"
value='testComplete'
onbegin="alert('begin');"
actionListener="#{uiSearchBean.listener}"
oncomplete="alert('complete');"
>
</a4j:commandButton>
{code}
RF log:
{code}
{debug[10:41:52.082]: New request added to queue. Queue requestGroupingId changed to A8569:uiSearchForm:matching-datatable:0:myTestButton
debug[10:41:52.083]: Queue will wait 0ms before submit
debug[10:41:52.084]: richfaces.queue: will submit request NOW
info [10:41:53.488]: Received 'begin' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.557]: Received 'beforedomupdate' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
debug[10:41:53.557]: Server returned responseText: <partial-response><changes><update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update><extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension></changes></partial-response>
info [10:41:53.558]: Listing content of response changes element:
Element update for id=A8569:uiSearchForm:j_idt12
<update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update>
Element extension for id=A8569org.richfaces.extension
<extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension>
debug[10:41:53.559]: richfaces.queue: ajax submit successfull
debug[10:41:53.559]: richfaces.queue: Nothing to submit
info [10:41:53.560]: Received 'success' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.560]: Received 'complete' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
{code}
was (Author: christophe.noel):
Hello,
I encountered the same issue, using Liferay Faces Bridge 3.1.0 rc2.
Same issue using: RF 4.2.0 and 4.2.2.
The fix (in Richfaces library) was explained here: http://issues.liferay.com/browse/FACES-249
My own code:
{code:xml}
<a4j:commandButton id="myTestButton"
value='testComplete'
onbegin="alert('begin');"
actionListener="#{uiSearchBean.listener}"
oncomplete="alert('complete');"
>
</a4j:commandButton>
{code}
RF log:
{code}
{debug[10:41:52.082]: New request added to queue. Queue requestGroupingId changed to A8569:uiSearchForm:matching-datatable:0:myTestButton
debug[10:41:52.083]: Queue will wait 0ms before submit
debug[10:41:52.084]: richfaces.queue: will submit request NOW
info [10:41:53.488]: Received 'begin' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.557]: Received 'beforedomupdate' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
debug[10:41:53.557]: Server returned responseText: <partial-response><changes><update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update><extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension></changes></partial-response>
info [10:41:53.558]: Listing content of response changes element:
Element update for id=A8569:uiSearchForm:j_idt12
<update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update>
Element extension for id=A8569org.richfaces.extension
<extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension>
debug[10:41:53.559]: richfaces.queue: ajax submit successfull
debug[10:41:53.559]: richfaces.queue: Nothing to submit
info [10:41:53.560]: Received 'success' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.560]: Received 'complete' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
{code}
> onbeforedomupdate and oncomplete not working in Portlet environment
> -------------------------------------------------------------------
>
> Key: RF-11365
> URL: https://issues.jboss.org/browse/RF-11365
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.0.0.Final
> Reporter: Detlef Pleiss
> Fix For: 5-Future
>
>
> example page:
> {code}
> <ui:composition 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:a4j="http://richfaces.org/a4j"
> xmlns:rich="http://richfaces.org/rich">
> <h:head/>
> <h:form>
> <h:panelGrid columns="2">
> <h:outputText value="Text:" />
> <h:inputText value="#{echoBean.text}" >
> <a4j:ajax event="keyup"
>
> onbeforesubmit="alert('beforesubmit')"
> onbegin="alert('begin')"
> onbeforedomupdate="alert('beforedomupdate')"
> oncomplete="alert('complete')"
>
> render="text,count" listener="#{echoBean.countListener}"/>
> </h:inputText>
> <h:outputText value="Echo:" />
> <h:outputText id="text" value="#{echoBean.text}" />
> <h:outputText value="Count:" />
> <h:outputText id="count" value="#{echoBean.count}" />
> </h:panelGrid>
> </h:form>
> </ui:composition>
> {code}
> The alerts for onbeforedomupdate and oncomplete do not appear in a portal environment; they do in a non-portal web environment.
> The Ajax XML response in a non portal web environment contains the tag <extension id="org.richfaces.extension"> with the Javascript code from the named attributes.
> But, in a portal environment the id gets prefixed like i.e. <extension id="A3331org.richfaces.extension">
> In fact Richfaces asks for this prefix in richfaces-core-api-4.0.0.Final-sources : org.richfaces.renderkit.util.CoreAjaxRendererUtils.java
> line 96 by calling facesContext.getExternalContext().encodeNamespace(EXTENSION_ID))
> In a Servlet environment this leaves EXTENSION_ID = "org.richfaces.extension" unchanged, but in a Portlet environment its function is to
> "Return the specified name, after prefixing it with a namespace that ensures that it will be unique within the context of a particular page" (quoted from Javadoc).
> Only, the Javascript meant to react on the extension tag is hardcoded to react on the ID "org.richfaces.extension" only without any prefix:
> META-INF/resources/richfaces.js line 333 :
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension#org\\.richfaces\\.extension", responseXML);
> };
> {code}
> So, in a Portlet environment the partial-response/extension is ignored due to the prefixed ID.
> A possible solution might be to have the Javascript accept any prefix in front of the ID, like:
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension[id$='org\\.richfaces\\.extension']", responseXML);
> };
> {code}
--
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
11 years, 11 months
[JBoss JIRA] (RF-11365) onbeforedomupdate and oncomplete not working in Portlet environment
by Christophe Noel (JIRA)
[ https://issues.jboss.org/browse/RF-11365?page=com.atlassian.jira.plugin.s... ]
Christophe Noel edited comment on RF-11365 at 1/23/13 4:56 AM:
---------------------------------------------------------------
Hello,
I encountered the same issue, using Liferay Faces Bridge 3.1.0 rc2.
Same issue using: RF 4.2.0 and 4.2.2.
The fix (in Richfaces library) was explained here: http://issues.liferay.com/browse/FACES-249
{code:xml}
<a4j:commandButton id="myTestButton"
value='testComplete'
onbegin="alert('begin');"
actionListener="#{uiSearchBean.listener}"
oncomplete="alert('complete');"
>
</a4j:commandButton>
{code}
RF log:
{code}
{debug[10:41:52.082]: New request added to queue. Queue requestGroupingId changed to A8569:uiSearchForm:matching-datatable:0:myTestButton
debug[10:41:52.083]: Queue will wait 0ms before submit
debug[10:41:52.084]: richfaces.queue: will submit request NOW
info [10:41:53.488]: Received 'begin' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.557]: Received 'beforedomupdate' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
debug[10:41:53.557]: Server returned responseText: <partial-response><changes><update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update><extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension></changes></partial-response>
info [10:41:53.558]: Listing content of response changes element:
Element update for id=A8569:uiSearchForm:j_idt12
<update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update>
Element extension for id=A8569org.richfaces.extension
<extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension>
debug[10:41:53.559]: richfaces.queue: ajax submit successfull
debug[10:41:53.559]: richfaces.queue: Nothing to submit
info [10:41:53.560]: Received 'success' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.560]: Received 'complete' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
{code}
was (Author: christophe.noel):
Hello,
I encountered the same issue, using Liferay Faces Bridge 3.1.0 rc2.
Same issue using: RF 4.2.0 and 4.2.2.
{code:xml}
<a4j:commandButton id="myTestButton"
value='testComplete'
onbegin="alert('begin');"
actionListener="#{uiSearchBean.listener}"
oncomplete="alert('complete');"
>
</a4j:commandButton>
{code}
RF log:
{code}
{debug[10:41:52.082]: New request added to queue. Queue requestGroupingId changed to A8569:uiSearchForm:matching-datatable:0:myTestButton
debug[10:41:52.083]: Queue will wait 0ms before submit
debug[10:41:52.084]: richfaces.queue: will submit request NOW
info [10:41:53.488]: Received 'begin' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.557]: Received 'beforedomupdate' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
debug[10:41:53.557]: Server returned responseText: <partial-response><changes><update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update><extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension></changes></partial-response>
info [10:41:53.558]: Listing content of response changes element:
Element update for id=A8569:uiSearchForm:j_idt12
<update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update>
Element extension for id=A8569org.richfaces.extension
<extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension>
debug[10:41:53.559]: richfaces.queue: ajax submit successfull
debug[10:41:53.559]: richfaces.queue: Nothing to submit
info [10:41:53.560]: Received 'success' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.560]: Received 'complete' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
{code}
> onbeforedomupdate and oncomplete not working in Portlet environment
> -------------------------------------------------------------------
>
> Key: RF-11365
> URL: https://issues.jboss.org/browse/RF-11365
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.0.0.Final
> Reporter: Detlef Pleiss
> Fix For: 5-Future
>
>
> example page:
> {code}
> <ui:composition 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:a4j="http://richfaces.org/a4j"
> xmlns:rich="http://richfaces.org/rich">
> <h:head/>
> <h:form>
> <h:panelGrid columns="2">
> <h:outputText value="Text:" />
> <h:inputText value="#{echoBean.text}" >
> <a4j:ajax event="keyup"
>
> onbeforesubmit="alert('beforesubmit')"
> onbegin="alert('begin')"
> onbeforedomupdate="alert('beforedomupdate')"
> oncomplete="alert('complete')"
>
> render="text,count" listener="#{echoBean.countListener}"/>
> </h:inputText>
> <h:outputText value="Echo:" />
> <h:outputText id="text" value="#{echoBean.text}" />
> <h:outputText value="Count:" />
> <h:outputText id="count" value="#{echoBean.count}" />
> </h:panelGrid>
> </h:form>
> </ui:composition>
> {code}
> The alerts for onbeforedomupdate and oncomplete do not appear in a portal environment; they do in a non-portal web environment.
> The Ajax XML response in a non portal web environment contains the tag <extension id="org.richfaces.extension"> with the Javascript code from the named attributes.
> But, in a portal environment the id gets prefixed like i.e. <extension id="A3331org.richfaces.extension">
> In fact Richfaces asks for this prefix in richfaces-core-api-4.0.0.Final-sources : org.richfaces.renderkit.util.CoreAjaxRendererUtils.java
> line 96 by calling facesContext.getExternalContext().encodeNamespace(EXTENSION_ID))
> In a Servlet environment this leaves EXTENSION_ID = "org.richfaces.extension" unchanged, but in a Portlet environment its function is to
> "Return the specified name, after prefixing it with a namespace that ensures that it will be unique within the context of a particular page" (quoted from Javadoc).
> Only, the Javascript meant to react on the extension tag is hardcoded to react on the ID "org.richfaces.extension" only without any prefix:
> META-INF/resources/richfaces.js line 333 :
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension#org\\.richfaces\\.extension", responseXML);
> };
> {code}
> So, in a Portlet environment the partial-response/extension is ignored due to the prefixed ID.
> A possible solution might be to have the Javascript accept any prefix in front of the ID, like:
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension[id$='org\\.richfaces\\.extension']", responseXML);
> };
> {code}
--
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
11 years, 11 months
[JBoss JIRA] (RF-11365) onbeforedomupdate and oncomplete not working in Portlet environment
by Christophe Noel (JIRA)
[ https://issues.jboss.org/browse/RF-11365?page=com.atlassian.jira.plugin.s... ]
Christophe Noel edited comment on RF-11365 at 1/23/13 4:56 AM:
---------------------------------------------------------------
Hello,
I encountered the same issue, using Liferay Faces Bridge 3.1.0 rc2.
Same issue using: RF 4.2.0 and 4.2.2.
The fix (in Richfaces library) was explained here: http://issues.liferay.com/browse/FACES-249
My own code:
{code:xml}
<a4j:commandButton id="myTestButton"
value='testComplete'
onbegin="alert('begin');"
actionListener="#{uiSearchBean.listener}"
oncomplete="alert('complete');"
>
</a4j:commandButton>
{code}
RF log:
{code}
{debug[10:41:52.082]: New request added to queue. Queue requestGroupingId changed to A8569:uiSearchForm:matching-datatable:0:myTestButton
debug[10:41:52.083]: Queue will wait 0ms before submit
debug[10:41:52.084]: richfaces.queue: will submit request NOW
info [10:41:53.488]: Received 'begin' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.557]: Received 'beforedomupdate' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
debug[10:41:53.557]: Server returned responseText: <partial-response><changes><update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update><extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension></changes></partial-response>
info [10:41:53.558]: Listing content of response changes element:
Element update for id=A8569:uiSearchForm:j_idt12
<update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update>
Element extension for id=A8569org.richfaces.extension
<extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension>
debug[10:41:53.559]: richfaces.queue: ajax submit successfull
debug[10:41:53.559]: richfaces.queue: Nothing to submit
info [10:41:53.560]: Received 'success' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.560]: Received 'complete' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
{code}
was (Author: christophe.noel):
Hello,
I encountered the same issue, using Liferay Faces Bridge 3.1.0 rc2.
Same issue using: RF 4.2.0 and 4.2.2.
The fix (in Richfaces library) was explained here: http://issues.liferay.com/browse/FACES-249
{code:xml}
<a4j:commandButton id="myTestButton"
value='testComplete'
onbegin="alert('begin');"
actionListener="#{uiSearchBean.listener}"
oncomplete="alert('complete');"
>
</a4j:commandButton>
{code}
RF log:
{code}
{debug[10:41:52.082]: New request added to queue. Queue requestGroupingId changed to A8569:uiSearchForm:matching-datatable:0:myTestButton
debug[10:41:52.083]: Queue will wait 0ms before submit
debug[10:41:52.084]: richfaces.queue: will submit request NOW
info [10:41:53.488]: Received 'begin' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.557]: Received 'beforedomupdate' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
debug[10:41:53.557]: Server returned responseText: <partial-response><changes><update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update><extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension></changes></partial-response>
info [10:41:53.558]: Listing content of response changes element:
Element update for id=A8569:uiSearchForm:j_idt12
<update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update>
Element extension for id=A8569org.richfaces.extension
<extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension>
debug[10:41:53.559]: richfaces.queue: ajax submit successfull
debug[10:41:53.559]: richfaces.queue: Nothing to submit
info [10:41:53.560]: Received 'success' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.560]: Received 'complete' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
{code}
> onbeforedomupdate and oncomplete not working in Portlet environment
> -------------------------------------------------------------------
>
> Key: RF-11365
> URL: https://issues.jboss.org/browse/RF-11365
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.0.0.Final
> Reporter: Detlef Pleiss
> Fix For: 5-Future
>
>
> example page:
> {code}
> <ui:composition 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:a4j="http://richfaces.org/a4j"
> xmlns:rich="http://richfaces.org/rich">
> <h:head/>
> <h:form>
> <h:panelGrid columns="2">
> <h:outputText value="Text:" />
> <h:inputText value="#{echoBean.text}" >
> <a4j:ajax event="keyup"
>
> onbeforesubmit="alert('beforesubmit')"
> onbegin="alert('begin')"
> onbeforedomupdate="alert('beforedomupdate')"
> oncomplete="alert('complete')"
>
> render="text,count" listener="#{echoBean.countListener}"/>
> </h:inputText>
> <h:outputText value="Echo:" />
> <h:outputText id="text" value="#{echoBean.text}" />
> <h:outputText value="Count:" />
> <h:outputText id="count" value="#{echoBean.count}" />
> </h:panelGrid>
> </h:form>
> </ui:composition>
> {code}
> The alerts for onbeforedomupdate and oncomplete do not appear in a portal environment; they do in a non-portal web environment.
> The Ajax XML response in a non portal web environment contains the tag <extension id="org.richfaces.extension"> with the Javascript code from the named attributes.
> But, in a portal environment the id gets prefixed like i.e. <extension id="A3331org.richfaces.extension">
> In fact Richfaces asks for this prefix in richfaces-core-api-4.0.0.Final-sources : org.richfaces.renderkit.util.CoreAjaxRendererUtils.java
> line 96 by calling facesContext.getExternalContext().encodeNamespace(EXTENSION_ID))
> In a Servlet environment this leaves EXTENSION_ID = "org.richfaces.extension" unchanged, but in a Portlet environment its function is to
> "Return the specified name, after prefixing it with a namespace that ensures that it will be unique within the context of a particular page" (quoted from Javadoc).
> Only, the Javascript meant to react on the extension tag is hardcoded to react on the ID "org.richfaces.extension" only without any prefix:
> META-INF/resources/richfaces.js line 333 :
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension#org\\.richfaces\\.extension", responseXML);
> };
> {code}
> So, in a Portlet environment the partial-response/extension is ignored due to the prefixed ID.
> A possible solution might be to have the Javascript accept any prefix in front of the ID, like:
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension[id$='org\\.richfaces\\.extension']", responseXML);
> };
> {code}
--
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
11 years, 11 months
[JBoss JIRA] (RF-11365) onbeforedomupdate and oncomplete not working in Portlet environment
by Christophe Noel (JIRA)
[ https://issues.jboss.org/browse/RF-11365?page=com.atlassian.jira.plugin.s... ]
Christophe Noel edited comment on RF-11365 at 1/23/13 4:44 AM:
---------------------------------------------------------------
Hello,
I encountered the same issue, using Liferay Faces Bridge 3.1.0 rc2.
Same issue using: RF 4.2.0 and 4.2.2.
{code:xml}
<a4j:commandButton id="myTestButton"
value='testComplete'
onbegin="alert('begin');"
actionListener="#{uiSearchBean.listener}"
oncomplete="alert('complete');"
>
</a4j:commandButton>
{code}
RF log:
{code}
{debug[10:41:52.082]: New request added to queue. Queue requestGroupingId changed to A8569:uiSearchForm:matching-datatable:0:myTestButton
debug[10:41:52.083]: Queue will wait 0ms before submit
debug[10:41:52.084]: richfaces.queue: will submit request NOW
info [10:41:53.488]: Received 'begin' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.557]: Received 'beforedomupdate' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
debug[10:41:53.557]: Server returned responseText: <partial-response><changes><update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update><extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension></changes></partial-response>
info [10:41:53.558]: Listing content of response changes element:
Element update for id=A8569:uiSearchForm:j_idt12
<update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update>
Element extension for id=A8569org.richfaces.extension
<extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension>
debug[10:41:53.559]: richfaces.queue: ajax submit successfull
debug[10:41:53.559]: richfaces.queue: Nothing to submit
info [10:41:53.560]: Received 'success' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.560]: Received 'complete' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
{code}
was (Author: christophe.noel):
Hello,
I encountered the same issue, using Liferay Faces Bridge 3.1.0 rc2.
Same issue using: RF 4.2.0 and 4.2.2.
{code:xml}
<a4j:commandButton id="myTestButton"
value='testComplete'
onbegin="alert('begin');"
actionListener="#{uiSearchBean.listener}"
oncomplete="alert('complete)';"
>
</a4j:commandButton>
{code}
RF log:
{code}
{debug[10:41:52.082]: New request added to queue. Queue requestGroupingId changed to A8569:uiSearchForm:matching-datatable:0:myTestButton
debug[10:41:52.083]: Queue will wait 0ms before submit
debug[10:41:52.084]: richfaces.queue: will submit request NOW
info [10:41:53.488]: Received 'begin' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.557]: Received 'beforedomupdate' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
debug[10:41:53.557]: Server returned responseText: <partial-response><changes><update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update><extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension></changes></partial-response>
info [10:41:53.558]: Listing content of response changes element:
Element update for id=A8569:uiSearchForm:j_idt12
<update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update>
Element extension for id=A8569org.richfaces.extension
<extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension>
debug[10:41:53.559]: richfaces.queue: ajax submit successfull
debug[10:41:53.559]: richfaces.queue: Nothing to submit
info [10:41:53.560]: Received 'success' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.560]: Received 'complete' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
{code}
> onbeforedomupdate and oncomplete not working in Portlet environment
> -------------------------------------------------------------------
>
> Key: RF-11365
> URL: https://issues.jboss.org/browse/RF-11365
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.0.0.Final
> Reporter: Detlef Pleiss
> Fix For: 5-Future
>
>
> example page:
> {code}
> <ui:composition 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:a4j="http://richfaces.org/a4j"
> xmlns:rich="http://richfaces.org/rich">
> <h:head/>
> <h:form>
> <h:panelGrid columns="2">
> <h:outputText value="Text:" />
> <h:inputText value="#{echoBean.text}" >
> <a4j:ajax event="keyup"
>
> onbeforesubmit="alert('beforesubmit')"
> onbegin="alert('begin')"
> onbeforedomupdate="alert('beforedomupdate')"
> oncomplete="alert('complete')"
>
> render="text,count" listener="#{echoBean.countListener}"/>
> </h:inputText>
> <h:outputText value="Echo:" />
> <h:outputText id="text" value="#{echoBean.text}" />
> <h:outputText value="Count:" />
> <h:outputText id="count" value="#{echoBean.count}" />
> </h:panelGrid>
> </h:form>
> </ui:composition>
> {code}
> The alerts for onbeforedomupdate and oncomplete do not appear in a portal environment; they do in a non-portal web environment.
> The Ajax XML response in a non portal web environment contains the tag <extension id="org.richfaces.extension"> with the Javascript code from the named attributes.
> But, in a portal environment the id gets prefixed like i.e. <extension id="A3331org.richfaces.extension">
> In fact Richfaces asks for this prefix in richfaces-core-api-4.0.0.Final-sources : org.richfaces.renderkit.util.CoreAjaxRendererUtils.java
> line 96 by calling facesContext.getExternalContext().encodeNamespace(EXTENSION_ID))
> In a Servlet environment this leaves EXTENSION_ID = "org.richfaces.extension" unchanged, but in a Portlet environment its function is to
> "Return the specified name, after prefixing it with a namespace that ensures that it will be unique within the context of a particular page" (quoted from Javadoc).
> Only, the Javascript meant to react on the extension tag is hardcoded to react on the ID "org.richfaces.extension" only without any prefix:
> META-INF/resources/richfaces.js line 333 :
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension#org\\.richfaces\\.extension", responseXML);
> };
> {code}
> So, in a Portlet environment the partial-response/extension is ignored due to the prefixed ID.
> A possible solution might be to have the Javascript accept any prefix in front of the ID, like:
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension[id$='org\\.richfaces\\.extension']", responseXML);
> };
> {code}
--
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
11 years, 11 months
[JBoss JIRA] (RF-11365) onbeforedomupdate and oncomplete not working in Portlet environment
by Christophe Noel (JIRA)
[ https://issues.jboss.org/browse/RF-11365?page=com.atlassian.jira.plugin.s... ]
Christophe Noel commented on RF-11365:
--------------------------------------
Hello,
I encountered the same issue, using Liferay Faces Bridge 3.1.0 rc2.
Same issue using: RF 4.2.0 and 4.2.2.
{<a4j:commandButton id="myTestButton"
value='testComplete'
onbegin="alert('begin');"
actionListener="#{uiSearchBean.listener}"
oncomplete="alert('complete)';"
>
</a4j:commandButton>}
RF log:
{debug[10:41:52.082]: New request added to queue. Queue requestGroupingId changed to A8569:uiSearchForm:matching-datatable:0:myTestButton
debug[10:41:52.083]: Queue will wait 0ms before submit
debug[10:41:52.084]: richfaces.queue: will submit request NOW
info [10:41:53.488]: Received 'begin' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.557]: Received 'beforedomupdate' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
debug[10:41:53.557]: Server returned responseText: <partial-response><changes><update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update><extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension></changes></partial-response>
info [10:41:53.558]: Listing content of response changes element:
Element update for id=A8569:uiSearchForm:j_idt12
<update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update>
Element extension for id=A8569org.richfaces.extension
<extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension>
debug[10:41:53.559]: richfaces.queue: ajax submit successfull
debug[10:41:53.559]: richfaces.queue: Nothing to submit
info [10:41:53.560]: Received 'success' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.560]: Received 'complete' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>}
> onbeforedomupdate and oncomplete not working in Portlet environment
> -------------------------------------------------------------------
>
> Key: RF-11365
> URL: https://issues.jboss.org/browse/RF-11365
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.0.0.Final
> Reporter: Detlef Pleiss
> Fix For: 5-Future
>
>
> example page:
> {code}
> <ui:composition 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:a4j="http://richfaces.org/a4j"
> xmlns:rich="http://richfaces.org/rich">
> <h:head/>
> <h:form>
> <h:panelGrid columns="2">
> <h:outputText value="Text:" />
> <h:inputText value="#{echoBean.text}" >
> <a4j:ajax event="keyup"
>
> onbeforesubmit="alert('beforesubmit')"
> onbegin="alert('begin')"
> onbeforedomupdate="alert('beforedomupdate')"
> oncomplete="alert('complete')"
>
> render="text,count" listener="#{echoBean.countListener}"/>
> </h:inputText>
> <h:outputText value="Echo:" />
> <h:outputText id="text" value="#{echoBean.text}" />
> <h:outputText value="Count:" />
> <h:outputText id="count" value="#{echoBean.count}" />
> </h:panelGrid>
> </h:form>
> </ui:composition>
> {code}
> The alerts for onbeforedomupdate and oncomplete do not appear in a portal environment; they do in a non-portal web environment.
> The Ajax XML response in a non portal web environment contains the tag <extension id="org.richfaces.extension"> with the Javascript code from the named attributes.
> But, in a portal environment the id gets prefixed like i.e. <extension id="A3331org.richfaces.extension">
> In fact Richfaces asks for this prefix in richfaces-core-api-4.0.0.Final-sources : org.richfaces.renderkit.util.CoreAjaxRendererUtils.java
> line 96 by calling facesContext.getExternalContext().encodeNamespace(EXTENSION_ID))
> In a Servlet environment this leaves EXTENSION_ID = "org.richfaces.extension" unchanged, but in a Portlet environment its function is to
> "Return the specified name, after prefixing it with a namespace that ensures that it will be unique within the context of a particular page" (quoted from Javadoc).
> Only, the Javascript meant to react on the extension tag is hardcoded to react on the ID "org.richfaces.extension" only without any prefix:
> META-INF/resources/richfaces.js line 333 :
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension#org\\.richfaces\\.extension", responseXML);
> };
> {code}
> So, in a Portlet environment the partial-response/extension is ignored due to the prefixed ID.
> A possible solution might be to have the Javascript accept any prefix in front of the ID, like:
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension[id$='org\\.richfaces\\.extension']", responseXML);
> };
> {code}
--
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
11 years, 11 months
[JBoss JIRA] (RF-11365) onbeforedomupdate and oncomplete not working in Portlet environment
by Christophe Noel (JIRA)
[ https://issues.jboss.org/browse/RF-11365?page=com.atlassian.jira.plugin.s... ]
Christophe Noel edited comment on RF-11365 at 1/23/13 4:44 AM:
---------------------------------------------------------------
Hello,
I encountered the same issue, using Liferay Faces Bridge 3.1.0 rc2.
Same issue using: RF 4.2.0 and 4.2.2.
{code:xml}
<a4j:commandButton id="myTestButton"
value='testComplete'
onbegin="alert('begin');"
actionListener="#{uiSearchBean.listener}"
oncomplete="alert('complete)';"
>
</a4j:commandButton>
{code}
RF log:
{code}
{debug[10:41:52.082]: New request added to queue. Queue requestGroupingId changed to A8569:uiSearchForm:matching-datatable:0:myTestButton
debug[10:41:52.083]: Queue will wait 0ms before submit
debug[10:41:52.084]: richfaces.queue: will submit request NOW
info [10:41:53.488]: Received 'begin' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.557]: Received 'beforedomupdate' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
debug[10:41:53.557]: Server returned responseText: <partial-response><changes><update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update><extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension></changes></partial-response>
info [10:41:53.558]: Listing content of response changes element:
Element update for id=A8569:uiSearchForm:j_idt12
<update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update>
Element extension for id=A8569org.richfaces.extension
<extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension>
debug[10:41:53.559]: richfaces.queue: ajax submit successfull
debug[10:41:53.559]: richfaces.queue: Nothing to submit
info [10:41:53.560]: Received 'success' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.560]: Received 'complete' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
{code}
was (Author: christophe.noel):
Hello,
I encountered the same issue, using Liferay Faces Bridge 3.1.0 rc2.
Same issue using: RF 4.2.0 and 4.2.2.
{<a4j:commandButton id="myTestButton"
value='testComplete'
onbegin="alert('begin');"
actionListener="#{uiSearchBean.listener}"
oncomplete="alert('complete)';"
>
</a4j:commandButton>}
RF log:
{debug[10:41:52.082]: New request added to queue. Queue requestGroupingId changed to A8569:uiSearchForm:matching-datatable:0:myTestButton
debug[10:41:52.083]: Queue will wait 0ms before submit
debug[10:41:52.084]: richfaces.queue: will submit request NOW
info [10:41:53.488]: Received 'begin' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.557]: Received 'beforedomupdate' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
debug[10:41:53.557]: Server returned responseText: <partial-response><changes><update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update><update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update><extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension></changes></partial-response>
info [10:41:53.558]: Listing content of response changes element:
Element update for id=A8569:uiSearchForm:j_idt12
<update id="A8569:uiSearchForm:j_idt12"><![CDATA[<span id="A8569:uiSearchForm:j_idt12"> <div id="messageD"> <table id="messageT" class="rich-messages"> </table> </div></span>]]></update>
Element update for id=javax.faces.ViewState
<update id="javax.faces.ViewState"><![CDATA[1595359017373670725:-6482414893939857634]]></update>
Element extension for id=A8569org.richfaces.extension
<extension id="A8569org.richfaces.extension"><complete>alert('complete');;</complete></extension>
debug[10:41:53.559]: richfaces.queue: ajax submit successfull
debug[10:41:53.559]: richfaces.queue: Nothing to submit
info [10:41:53.560]: Received 'success' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>
info [10:41:53.560]: Received 'complete' event from <input id=A8569:uiSearchForm:matching-datatable:0:myTestButton ...>}
> onbeforedomupdate and oncomplete not working in Portlet environment
> -------------------------------------------------------------------
>
> Key: RF-11365
> URL: https://issues.jboss.org/browse/RF-11365
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.0.0.Final
> Reporter: Detlef Pleiss
> Fix For: 5-Future
>
>
> example page:
> {code}
> <ui:composition 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:a4j="http://richfaces.org/a4j"
> xmlns:rich="http://richfaces.org/rich">
> <h:head/>
> <h:form>
> <h:panelGrid columns="2">
> <h:outputText value="Text:" />
> <h:inputText value="#{echoBean.text}" >
> <a4j:ajax event="keyup"
>
> onbeforesubmit="alert('beforesubmit')"
> onbegin="alert('begin')"
> onbeforedomupdate="alert('beforedomupdate')"
> oncomplete="alert('complete')"
>
> render="text,count" listener="#{echoBean.countListener}"/>
> </h:inputText>
> <h:outputText value="Echo:" />
> <h:outputText id="text" value="#{echoBean.text}" />
> <h:outputText value="Count:" />
> <h:outputText id="count" value="#{echoBean.count}" />
> </h:panelGrid>
> </h:form>
> </ui:composition>
> {code}
> The alerts for onbeforedomupdate and oncomplete do not appear in a portal environment; they do in a non-portal web environment.
> The Ajax XML response in a non portal web environment contains the tag <extension id="org.richfaces.extension"> with the Javascript code from the named attributes.
> But, in a portal environment the id gets prefixed like i.e. <extension id="A3331org.richfaces.extension">
> In fact Richfaces asks for this prefix in richfaces-core-api-4.0.0.Final-sources : org.richfaces.renderkit.util.CoreAjaxRendererUtils.java
> line 96 by calling facesContext.getExternalContext().encodeNamespace(EXTENSION_ID))
> In a Servlet environment this leaves EXTENSION_ID = "org.richfaces.extension" unchanged, but in a Portlet environment its function is to
> "Return the specified name, after prefixing it with a namespace that ensures that it will be unique within the context of a particular page" (quoted from Javadoc).
> Only, the Javascript meant to react on the extension tag is hardcoded to react on the ID "org.richfaces.extension" only without any prefix:
> META-INF/resources/richfaces.js line 333 :
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension#org\\.richfaces\\.extension", responseXML);
> };
> {code}
> So, in a Portlet environment the partial-response/extension is ignored due to the prefixed ID.
> A possible solution might be to have the Javascript accept any prefix in front of the ID, like:
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension[id$='org\\.richfaces\\.extension']", responseXML);
> };
> {code}
--
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
11 years, 11 months