You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Paul Stanton (Commented) (JIRA)" <ji...@apache.org> on 2012/03/22 11:54:23 UTC
[jira] [Commented] (TAP5-1870) javascript added while in the render
phase of a component from an ajax request is never executed
[ https://issues.apache.org/jira/browse/TAP5-1870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13235499#comment-13235499 ]
Paul Stanton commented on TAP5-1870:
------------------------------------
I've found that the tidiest work around is to put the javascript snippet within the tml of the component:
<t:zone t:id="myZone" id="myZone">
<t:myComponent />
</t:zone>
myComponent.tml:
<div>
<p>Component content</p>
<script type="text/javascript">alert('here');</script>
</div>
This javascript is at least executed every time the component is (re)rendered.
Its an ugly solution but seems to work as a stop gap.
> javascript added while in the render phase of a component from an ajax request is never executed
> ------------------------------------------------------------------------------------------------
>
> Key: TAP5-1870
> URL: https://issues.apache.org/jira/browse/TAP5-1870
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.3.2
> Reporter: Paul Stanton
> Labels: ajax, javascript, zone
>
> When a zone update occurs, the 'setupRender' is called for each component contained by that zone.
> If a script is added to ajaxResponseRenderer within the 'setupRender' method it is never executed on the page.
> eg:
> public class MyPage
> {
> void onSomeEvent()
> {
> ajaxResponseRenderer.addRender(myZone); // myZone contains a MyComponent in the tml
> }
> }
> public class MyComponent
> {
> void setupRender()
> {
> if (request.isXHR())
> ajaxResponseRenderer.addCallback(new JavaScriptCallback() { public void run(JavaScriptSupport javascriptSupport) {
> javascriptSupport.addScript("alert('here');");}});
> }
> }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira