]
Jean ANDRE commented on RF-11950:
---------------------------------
Hello Thomas, Ok I understand - We will make the test soon - NestedWeb is also running
under GlassFish, in fact it is platform independent. The project contains a readme.txt
files that describes all the procedure to setup the project and the necessary lib
depending on which platform or env. you want to run it. Unfortunately we are not maven yet
for this test. The good new, we have upgraded to 2.1.11, then we can perform the test
soon.
rich:findComponent does not retrieve the component for
multiply-nested, dynamically generated tab components
------------------------------------------------------------------------------------------------------------
Key: RF-11950
URL:
https://issues.jboss.org/browse/RF-11950
Project: RichFaces
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: base functionality
Affects Versions: 4.1.0.Final
Environment: Websphere 8 - RAD 8 - JSF Mojorra 2.1.4 - Spring 3.0.6 Final -
Firefox 10.0 - Windows 7 (6.1 sp1)
Reporter: Jean ANDRE
Fix For: 4.Future
Attachments: index.xhtml, index.xhtml, listClient.xhtml, NestedWeb_RF-11950.zip,
requestClientDocument.xhtml, requestClientDocument.xhtml, tabsClient.xhtml,
tabsClient.xhtml
The rich:findComponent does not retrieve the component - What we want to achieve is to
send .click() event on a command button. We got different errors depending the tests we
made such as syntax error.
The involved code:
------------------
{code}
<!-- -->
<!-- CANCEL -->
<!-- -->
<a4j:commandButton id="#{tab.id}-rcd-cancelCreateCmd"
value="#{msg['common.command.cancel']}"
onclick="#{rich:findComponent('#{activity.id}-closeCmd')}.click();;return
false;"
render="#{tab.id}-tabsClient"
immediate="true" />
{code}
The error we got:
----------------
{code}
syntax error - [Stopper sur une erreur] - jsf.js.jsf?ln=javax.faces (ligne 1)
.click();return false;
{code}
The corresponding view source:
------------------------------
{code}
<input type="submit" value="Cancel"
onclick="jsf.util.chain(this,event,".click();return false;",
"RichFaces.ajax(
\"tabbedForm:TAB_CLIENT\\u002D1\\u002Drcd\\u002DcancelCreateCmd\",event,{\"incId\":\"1\"}
)");
return false;"
name="tabbedForm:TAB_CLIENT-1-rcd-cancelCreateCmd"
id="tabbedForm:TAB_CLIENT-1-rcd-cancelCreateCmd">
{code}
The generated javaScript under firebug:
--------------------------------------
{code}
function onclick(event) {
jsf.util.chain(this, event, ".click();return false;",
"RichFaces.ajax(\"tabbedForm:TAB_CLIENT\\u002D1\\u002Drcd\\u002DcancelCreateCmd\",event,{\"incId\":\"1\"}
)");
return false;
}
{code}
If we hard code the Id instead of the calculated one we got following error:
{code}
uncaught exception: Syntax error, unrecognized expression: TAB_CLIENT-1-TAB_RCD-closeCmd
Line 0
{code}
The generated javaScript under firebug:
--------------------------------------
{code}
function anonymous(event) {
rich:
findComponent("TAB_CLIENT-1-TAB_RCD-closeCmd").click();
return false;
}
{code}
If we use directly jQuery:
{code}
<!-- -->
<!-- CANCEL -->
<!-- -->
<a4j:commandButton id="#{tab.id}-rcd-cancelCreateCmd"
value="#{msg['common.command.cancel']}"
onclick="$('##{activity.id}-closeCmd').click();return
false;"
render="desktopTabPanel"
immediate="true" />
{code}
{code}
missing ; before statement
http://localhost:12000/crm/javax.faces.resource/jsf.js.jsf?ln=javax.faces
Line 1
{code}
If we hardcode an existing static Id, we got the error as shown the screen capture:
{code}
function onclick(event) {
jsf.util.chain(this, event,
"org.richfaces.component.UICommandButton(a)39de2ca.click();",
"RichFaces.ajax(\"tabbedForm:TAB_CLIENT\\u002D1\\u002Drcd\\u002DcancelCreateCmd\",event,{\"incId\":\"1\"}
)");
return false;
}
{code}
{code}
<a4j:commandButton id="#{tab.id}-rcd-cancelCreateCmd"
value="#{msg['common.command.cancel']}"
onclick="#{rich:findComponent('qsearchClient')}.click();"
render="#{tab.id}-tabsClient"
immediate="true" /> 
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: