You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Jesse Kuhnert (JIRA)" <de...@tapestry.apache.org> on 2007/06/24 15:42:36 UTC

[jira] Updated: (TAPESTRY-1584) @EventListener's updateComponents re-renders init- and body-script of components below

     [ https://issues.apache.org/jira/browse/TAPESTRY-1584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Kuhnert updated TAPESTRY-1584:
------------------------------------

    Fix Version/s:     (was: 4.1.2)
                   4.1.3

> @EventListener's updateComponents re-renders init- and body-script of components below
> --------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-1584
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1584
>             Project: Tapestry
>          Issue Type: Bug
>          Components: XHR/dhtml/Ajax
>    Affects Versions: 4.1.1
>         Environment: JRE 1.6.0, Tomcat 5.5.23, FF2 and IE7
>            Reporter: Timo Hillerns
>             Fix For: 4.1.3
>
>
> I have a container component which is placed multiple times on a page. This component has a .script-file that contains an init and a body part.
> The html of the component looks like:
> 	<body jwcid="$content$">
> 		<script jwcid="containerScript"/>
> 		<div jwcid="container">
> 			<span jwcid="@RenderBody"/>
> 		</div>
> 	</body>
> My .html of the page is defined simplified:
> 		<span jwcid="container1@Container">
> 			content of one
> 		</span>
> 		<span jwcid="container2@Container">
> 			<div id="clickDiv">abcdefhijklmnopqrstuvwxyz</div>
> 			<div jwcid="updateTimestamp@Any"><span jwcid="@Insert" value="ognl:currentTimeMillis"/></div>
> 		</span>
> 		<span jwcid="container3@Container">
> 			content of three
> 		</span>
> The @EventListener defined on the page is:
> 	@EventListener(elements="clickDiv", events="onclick")
> 	public void updateTimestampClick(BrowserEvent event) {
> 		getRequestCycle().getResponseBuilder().updateComponent("updateTimestamp");
> 	}
> A click on abc...(clickDiv) performs correctly the update of the current timestamp, but it also re-renders the init- and body-script of container3 and may other containers below container2 (that contains the component to be updated). It does not help to declare the clickDiv and/or updateTimestamp outside of a container, so it seems to be a general problem of page @EventListener and component .script.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org