let's say this behavior is adding this to the onclik just before the wicket
ajax

....onclick="call_function();return false;original_wicket_stuff_for_ajax()"

Now on oncomponenttag I can read the "original_wicket_stuff_for_ajax()"

I will modifiy call_function() to get the "original_wicket_stuff_for_ajax()"
as a parameter

and upon completion of call_function() it will call
""original_wicket_stuff_for_ajax()"

This is roughly the idea...naturally it needs to take care of situations
when the component is either a regular Link or a form button.....I think it
can be managed this way or the other.

On Thu, Sep 3, 2009 at 3:41 PM, Pedro Santos <[email protected]> wrote:

> I agree with you, the best solution for an attachable behavior is
> composition. I just don't see it resolve that especial complexity: "I want
> this function call to resume the wicket action".
> For example: the oncomponenttag is called on the page rendering, idependent
> of the user interactions with the component were behavior is attached on,
> and by default the behavior is stateless (they don’t have to keep the
> reference to the components they’re attached to).
> I'm curious to know your final solution
>
>
> On Thu, Sep 3, 2009 at 9:14 AM, Arie Fishler <[email protected]> wrote:
>
> > Wel...this is the solution I wanted to avoid since this behavior can be
> > attached to buttons, links, ajax links...don't want to create onr for
> each.
> >
> > I can use the tag from the oncomponenttag and find out where it is
> supposed
> > to go originally....this seems to be the option that will work
> >
> > On Thu, Sep 3, 2009 at 3:04 PM, Pedro Santos <[email protected]>
> wrote:
> >
> > > "value that is placed in the onClick event (which has the action for
> the
> > > link or button that has the behavior placed on)"
> > > You has an parameter determining the action to be take, why don't you
> use
> > > polimorfism?
> > >
> > > "My behavior just adds a function call before any other action and I
> want
> > > this function call to resume the wicket action"
> > > You has an behavior common to onClick of a link or onSubmit of a
> button.
> > Do
> > > you consider to use inheritance instead of composition in this
> especific
> > > case because:
> > >
> > > "I want this function call to resume the wicket action"
> > >
> > > public class CustomLink/CustomButton extends Link/Button{
> > >    @override
> > >     onClick or onSubmit(){
> > >        callFunctionBeforeAnyOtherAction();
> > >        callAction();
> > >    }
> > >    protected abstrat void callAction();
> > >  }
> > >
> > >
> > >
> > > On Thu, Sep 3, 2009 at 8:42 AM, Arie Fishler <[email protected]>
> wrote:
> > >
> > > > The behvavior is not AbstractDefaultAjaxBehavior just one extending
> > > > AbstractBehavior.
> > > >
> > > > Can I get it somehow from the onComponentTag of the behavior? I
> > actually
> > > > need the value that is placed in the onClick event (which has the
> > action
> > > > for
> > > > the link or button that has the behavior placed on)
> > > >
> > > > My behavior just adds a function call before any other action and I
> > want
> > > > this function call to resume the wicket action (ajax click on a link
> or
> > > > submit of a button) right after the function of the behavior is
> > executed
> > > >
> > > > On Thu, Sep 3, 2009 at 2:09 PM, Pedro Santos <[email protected]>
> > > wrote:
> > > >
> > > > > To one of the decorations script must to be appended the script
> > > > responsible
> > > > > to call the behavior. You can get it invoking the
> > > > > AbstractDefaultAjaxBehavior.getCallbackScript() protected method.
> > > > >
> > > > > On Thu, Sep 3, 2009 at 7:59 AM, Arie Fishler <[email protected]>
> > > wrote:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > We have been implementing the getAjaxCallDecorator for links that
> > > > > > extends AjaxLink
> > > > > > in order to manipulate the way the wicket-ajax is called on these
> > > > links.
> > > > > >
> > > > > > I have a need to do something similar with a behavior and not
> sure
> > > how
> > > > to
> > > > > > implement.
> > > > > >
> > > > > > I have a behavior that is applied (added) to different links.
> This
> > > > > behavior
> > > > > > needs to manipulate and control when the actual wicket-ajax call
> is
> > > > > > executed
> > > > > > for the link it is on.
> > > > > >
> > > > > > It is like the behavior needs an access to the function call that
> > > > > activates
> > > > > > the ajax on the link. Is there a way for a behavior to get it?
> > > > > >
> > > > > > Cheers,
> > > > > > Arie
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to