Also, does returning true for isTemporary re-render any javascript resource
reference??
On Mon, Mar 10, 2008 at 4:30 PM, atul singh <[EMAIL PROTECTED]> wrote:
> Thank you for the isTemporary() suggestion.. . BTW before i got your reply
> i tried implementing following way, by extending AbstractBehavior , not sure
> if this is a good way..
> @Override
> public void onRendered(Component component) {
> IRequestTarget reqTarget = RequestCycle.get()
> .getRequestTarget();
> if (reqTarget!=null && reqTarget instanceof AjaxRequestTarget) {
> AjaxRequestTarget ajaxTarget = (AjaxRequestTarget)
> RequestCycle
> .get().getRequestTarget();
> if (ajaxTarget != null) {
> ajaxTarget.appendJavascript("new Effect.Fade($('"
> + component.getMarkupId() + "'));");
> }
> }
> }
>
> Is it possible to have a chaining behaviour class in wicket which is not a
> request listener??
>
>
>
>
> On Mon, Mar 10, 2008 at 12:11 PM, Igor Vaynberg <[EMAIL PROTECTED]>
> wrote:
>
> > there are two ways to do it:
> >
> > either use ajaxrequesttarget.appendjavascript() instead of behavior
> >
> > or write a behavior that uses renderhead() to output the javascript
> > and override istemporary to return true - that way it is removed at
> > the end of the request.
> >
> > -igor
> >
> >
> > On Sun, Mar 9, 2008 at 6:39 PM, atul singh <[EMAIL PROTECTED]>
> > wrote:
> > > How can i write an ajax behaviour which does not have its own
> > callback, but
> > > just appends javascript to an existing AjaxRequestTarget.
> > > I want this so that i can write a fading feed back panel, which will
> > be
> > > added to AjaxRequestTarget of an ajax form submission.
> > >
> > > What I want is something like this::
> > > *the behaviour---*
> > > public class AjaxFadeBehaviour extends AbstractAjaxBehavior{
> > > private IModel fadingNeededIModel;
> > > public AjaxFadeBehaviour() {
> > > super();
> > > }
> > >
> > > /**
> > > * Use a boolean value wrapped in an IModel to know if fading
> > effect is
> > > needed.
> > > * This can be useful in situations for example when info messages
> > need
> > > to fade away while error messages need not.
> > > * @param fadingNeededIModel
> > > */
> > > public AjaxFadeBehaviour(IModel fadingNeededIModel) {
> > > super();
> > > this.fadingNeededIModel = fadingNeededIModel;
> > > }
> > >
> > > public void onRequest() {
> > > System.out.println("on request called");
> > > if(fadingNeededIModel!=null){
> > > if(Strings.isTrue((String) fadingNeededIModel.getObject
> > ()))
> > >
> > >
> >
> > ((AjaxRequestTarget)RequestCycle.get().getRequestTarget()).appendJavascript("new
> > > Effect.Fade($('"
> > > + getComponent().getMarkupId() + "'));");
> > > }
> > > }
> > > }
> > >
> > > *the feedback component ---
> > > *public class AjaxFadingFeedbackPanel extends FeedbackPanel{
> > >
> > > public AjaxFadingFeedbackPanel(String id, IFeedbackMessageFilter
> > filter)
> > > {
> > > super(id, filter);
> > > setOutputMarkupId(true);
> > > final AbstractReadOnlyModel fadingNeededModel=new
> > > AbstractReadOnlyModel(){
> > > @Override
> > > public Object getObject() {
> > > return anyMessage(FeedbackMessage.INFO);
> > > }
> > > };
> > > add(new AjaxFadeBehaviour(fadingNeededModel));
> > > }
> > >
> > > public AjaxFadingFeedbackPanel(String id) {
> > > this(id,null);
> > > }
> > >
> > > }
> > >
> > > I am not able to achieve this because onRequest() does not get called
> > for
> > > AjaxFadeBehaviour.
> > > I am confused about which class I should extend to achieve this??
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>