If you need to generate JavaScript, do it by using JavaScriptSupport and
imported .js files.
On Fri, 24 Feb 2012 12:05:46 -0200, Lance Java <lance.j...@googlemail.com>
wrote:
I am writing a google maps component which can display markers on a map,
each marker has an info window when it is clicked on. I'd like to pass a
parameter to the component containing the tml to render each marker's
info
window.
eg:
Page.java
========
@InjectComponent
@Property
GoogleMap mygooglemap
public List<GoogleMapMarker> getMarkers() {
...
}
Page.tml
============
<t:googlemap markers="markers" t:id="mygooglemap">
<p:infowindow>
<div
style="infowindow-title">${mygooglemap.currentmarker.data.title}</div>
<div
style="infowindow-body">${mygooglemap.currentmarker.data.body}</div>
</p:infowindow>
</t:googlemap>
The only thing is that the google maps api wants each marker's infowindow
html to be a javascript string so I somehow need to use tapestry's
template
engine to generate strings for each marker's infowindow which I can then
use to generate javascript.
I have seen that the new Tree component can accept a "label" property
which
allows the user to provide a custom template for rendering each label.
The
label parameter is of type RenderCommand and RenderCommand has a single
method:
void render(MarkupWriter writer, RenderQueue queue);
So, I was hoping that I could do the same sort of thing except that
instead
of rendering to the response MarkupWriter, I could pass an empty
MarkupWriter to this method and then extract the generated markup somehow
into a string to then use it to generate my javascript.
Has anyone done this sort of thing before?
Am I on the right track or is there a simpler way?
--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
Consultor, desenvolvedor e instrutor em Java, Tapestry e Hibernate
http://www.arsmachina.com.br
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org