Hi all, I'm working on an application which mimics the behavior of modern (non-web GUI) wizards. Basically there is a single page containing side-by-side panels (like frames) plus a number of popup panels. Users are allowed to move a panel between those tho sets, as well as to minimize, maximize, drag and resize panels. Actual panel contents are runtime-defined after user actions on buttons and popup menus, thus there is a massive usage of Facelets composition components (but no templates) and ui:include. Heavy usage of js machinery is needed too. Trinidad is very good for my purposes but - as a matter of efficiency - PPR should be used everywhere, so that single panels contents only should be refreshed upon any user action, not the entire page. Basically there is no reason to refresh the entire page, except for changing locale. Here comes the point: this approach requires using partialSubmit="true" on *all* buttons/links, while addPartialTarget() defines later what to return as a PPR response. I already use this way for panel refreshing in selected cases without problems but now I would generalize this approach. But addPartialTarget() requires a component to be specified, and the only way I know of to get a component is through the binding attribute. This has some unpleasant side-effects with Facelets, and it cannot be used within iterating components (stamping) since inner components are defined at rendering time. In general - it's from action processing (within beans) that I have to decide upon which component will be a partial target. In many cases there is no need to return anything: e.i. while removing a panel, the DOM is updated by js and the concerned bean needs to know about the dropped panel. No PPR response is needed and the result is very fast.
Thanks for any comment,

-- Renzo

Reply via email to