Leonardo Uribe schrieb:
Hi Werner

I'm checking the code trying to find missing stuff required to implement f:ajax. On MYFACES-2323 I'll put all information I can deduct about f:ajax and facelets. It could be good to have a empty tag handler file for ajax committed, so we can put comments there and start implement it, but I don't know if the code you are working has this file.

Actually what I am doing currently is to implement the behavior and the renderer for now, once I know it runs I will commit it into the codebase.

Then basically you can dock it on via a custom tag handler, we wont need jsp as far as I know since the JSP part is omitted for f:ajax for now.

The main issue I have with the tag handler is that it touches two new parts which I am not too familiar with, the behavior bindings in the core and the tag handler API of facelets (with some jsf2 specific extensions). It is not impossible for me to read myself into those parts, the only problem is time, since I have to work for the next weeks three days per week for a customer, but I assume we would get faster results by someone taking over those parts who kow them better than I do.

What makes the tag handler particularily different is that it has to resolve
the situations of being a child of another tag or being a parent tag itself and also it has to touch the compound componend stuff of facelets
by resolving the facelet compound component stuff.
All this must be resolved in the tag handler not in the behavior, I assume. The behavior itself by contract does not do too much it just can issue an event and can return a javascript code which has to be bound to the component.


It however is rather straight forward not too different to a classical component, I am almost done with it it just needs some testing. However implementing it revealed a huge hole in the basic api of the behavior. Behaviors themselves can be partially state saved by providing the necessary interface but they do not have anything regarding getStateHelper in the base class like UIComponentBase has. I probably will extract an interface for impl only, so that we can have a generic API für such cases for our state helpers and I will introduce a state helper which can deal with behaviors.
(Done that but currently bound to the ajax behavior)


Werner

Reply via email to