We've just upgraded to 5.3.2 and checked out some of the new components.
The Alerts seems pretty useful, but looks like it's only possible to pass on strings.
I'm thinking a pretty common use-case would be to render some components/markup in it - like links.
I experimented a little by manually rendering a block and pass that on to alertManager. Got some inspiration from this thread about rendering blocks - http://tapestry.1045711.n5.nabble.com/Howto-render-a-block-and-put-it-into-a-JSON-reply-td5486823.html
RenderCommand renderCommand = (RenderCommand)alertBlock;
MarkupWriter markupWriter = new MarkupWriterImpl();
RenderQueueImpl renderQueue = new RenderQueueImpl(log);
That seems to work, but it's a bit clumsy and don't know if it's the recommended approach for rendering blocks. Does a convenience method exist for rendering blocks/components?
Not sure if it's possible, but how about if one could pass blocks to alerts directly. That could be pretty flexible as well...
######REPLY FROM KALLE######
Certainly the recommended approach is to use the provided render
queue, rather than create your own - but obviously the current
implementation doesn't always allow to do so. Completely agree with
you that rendering links, and, in general, rendering blocks would be
very useful for alerts. I don't see any major issue why it couldn't be
supported. Please open an issue for it.