Affects Version/s: 4.1
Fix Version/s: 4.1.1
Environment:windows xp, maven 2, tapestry 4.1 snapshots, 2gb ram, ie/firefox
I might be missing something, but..
Suggested remedies are:
1. extend the initialization block to all components even if theyre rendered dynamically. if youve contributed code to the initialization block of a script file then it should be invoked for any component rendered in an ajax request. This approach might break code that for some reason or another does things which can only work during onload and not afterwards. I cant imagine such a situation.. if youre setting properties on newly created objects or connecting even listeners or even adding nodes to something that should all be equally applicable to objects created before onload as objects created after a tags innerHTML has been updated through AJAX.
2. if however the above approach might theoretically break existing components, an even simpler solution (a pain in the arse, and it would render any useful components a company might have non -useful for ajax until its updated...), but sitll definitely doable is to modify te .script file and its DTD to honor a new section (something like <ajax-initialization> </ajax-initialization>)
I prefer the first approach as it would transparently make all components and their embedded .script files useful in an ajax context. The second approach would be OK I suppose, but would fragment the component "market" needlessly into an even bigger schizm: tap3, tap4, tap4 + ajax.