It would also be nice if the tree allowed a user-defined listener to be called:
<component id="tree" type="tacos:Tree"> <binding name="listener" expression="listeners.UserAction"/> <-------LIKE THIS <binding name="contentProvider" expression="contentProvider"/> <binding name="keyProvider" expression="keyProvider"/> <binding name="value" expression="file"/> <binding name="state" expression="treeState"/> <binding name="sorter" expression="@[EMAIL PROTECTED]"/> </component> Filip -----Original Message----- From: Viktor Szathmary [mailto:[EMAIL PROTECTED] Sent: March 29, 2005 10:00 AM To: Tapestry users Subject: Re: Tacos/Ajax (was: [ANN] Tacos Library 2005-03-27) hi, for the tree, ajax integration needs to be a bit more sophsticated than the current examples: the tree nodes can render arbitary tapestry components (including forms, eg. checkboxes). let's put aside the issue of dynamic forms for now... the rest can be solved reasonably well using partial rendering... there should be an AJAX LinkRenderer, that wraps the actual link request (plus a component identifier token) in an XMLHttpRequest. The ajax service should process this as follows: - decode and process directlink - only render the component specified by the identifier token - stream html chunk to client - client substitutes the relevant section of the page DOM tree with the html chunk this way we could retain the general workings of tapestry (complex server-side component rendition state). the server-side processing needs are not reduced much (though no html needs to get rendered outside of the relevant component, like during rewind), but the HTTP traffic is smaller and the page dynamically replaces the relevant chunks... also, backwards compatibility for those without javascript is kept (in that case the link gets executed as usual). i hope all the above made sense... :) now, what else would we need to do to handle dynamic forms without stalelinks? subclass Form to record component structure and rewrite the hidden Form0 field contents? any thoughts from the deeper tapestry coders? viktor On Tue, 29 Mar 2005 14:04:50 +0300, Andreas Andreou <[EMAIL PROTECTED]> wrote: > Well done viktor! > - Since i'll be working on creating some ajax components (even though > others have beat me to it), > I think that the tree component will really benefit from a possible ajax > integration (i.e. have the javascript call > a listener method). > - The Tacos project is surely a well known tapestry components project, > but would you mind also adding it > to the TapestryForums.com site? > - I also need the TapDoc XSL to generate docs for my components... Can > we have it posted somewhere? > I don't know if the forums allow posting files... > Respect, > Andreas > > Viktor Szathmary wrote: > > >Hi, > > > >a new release of the Tacos Component Library is available at: > > > >http://tacos.sourceforge.net/ > > > >The Tacos Tree component offers a better alternative to contrib:Tree. > >It has improved usability and the development API is simple and > >straightforward. > > > >Personally, my brain always twisted in a knot when using contrib:Tree, > >not to mention the time it took to make it work with acceptable > >usability. Tacos Tree addresses this by making things almost as easy > >as a Foreach. It also provides important end-user usability > >improvements (ie. pixel-precise positioning). > > > >Check out the live demo at: > > > >http://tacos.mine.nu:8080/tacos-demo/ > > > >There's also a supplier file available for the Tapestry Palette > >Eclipse plugin. Add it via Window -> Preferences -> Tapestry Palette > >-> Remote Libraries: http://tacos.sourceforge.net/supplier-tacos.xml > > > >Comments, suggestions, bug reports and other contributions are > >welcome. In the future I'm hoping to add more components. > > > >btw, does anyone have a copy of the TapDoc XSL somewhere? I would like > >to use it for component documentation, but it's no longer available at > >the original site. I see it's used on t-deli.com, so Mindbridge might > >have a copy :) > > > >Regards, > > Viktor > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
