Re: How to remove css class from a component?

2010-06-15 Thread David Chang
Thanks for the explanation! All the best.


--- On Wed, 6/16/10, Jeremy Thomerson  wrote:

> From: Jeremy Thomerson 
> Subject: Re: How to remove css class from a component?
> To: users@wicket.apache.org
> Date: Wednesday, June 16, 2010, 2:10 AM
> On Wed, Jun 16, 2010 at 1:05 AM,
> David Chang wrote:
> 
> > >>Use a model like it's intended?
> >
> > You mean I should use AbstractReadOnlyModel?
> >
> > >>protected void onBeforeRender() {
> >    super.onBeforeRender();
> >    inputComponent.add(new
> SimpleAttributeModifier("class", true, new
> > AbstractReadOnlyModel() {
> >        public String getObject()
> {
> >            return
> inputComponent.getFeedbackMessage() != null
> > ? "errorField" : "";
> >        }
> >    });
> > }
> >
> > There is no such constructor
> forSimpleAttributeModifier.
> >
> > Thanks.
> >
> >
> >
> > --- On Wed, 6/16/10, Jeremy Thomerson 
> wrote:
> >
> > > From: Jeremy Thomerson 
> > > Subject: Re: How to remove css class from a
> component?
> > > To: users@wicket.apache.org
> > > Date: Wednesday, June 16, 2010, 1:52 AM
> > > On Wed, Jun 16, 2010 at 12:48 AM,
> > > David Chang wrote:
> > >
> > > > Jeremy, glad to hear from you!
> > > >
> > > > My situation is a little different. The CSS
> class is
> > > added in the following
> > > > way. Please see the following code.
> > > >
> > > >        protected void
> > > onBeforeRender() {
> > > >
> > > super.onBeforeRender();
> > > >
> > > if (inputComponent.getFeedbackMessage() != null)
> {
> > > >
> > >
> > >    inputComponent.add(new
> > > AttributeAppender("class",
> > > > new Model("errorField"), "
> "));
> > > >
> > >    } else {
> > > >
> > >         // how to
> remove CSS class
> > > here??
> > > >
> > > }
> > > >        }
> > > >
> > > >
> > > > Thanks!
> > > >
> > > >
> > > > --- On Wed, 6/16/10, Jeremy Thomerson 
> > > wrote:
> > > >
> > > > > From: Jeremy Thomerson 
> > > > > Subject: Re: How to remove css class
> from a
> > > component?
> > > > > To: users@wicket.apache.org
> > > > > Cc: "John Krasnay" 
> > > > > Date: Wednesday, June 16, 2010, 1:40
> AM
> > > > > onComponentTag(...) {
> > > > > tag.remove("class");
> > > > > }
> > > > >
> > > > > On Wed, Jun 16, 2010 at 12:37 AM, David
> Chang
> > >  > > > >wrote:
> > > > >
> > > > > > Hello,
> > > > > >
> > > > > > I add a CSS class to component
> dynamcially
> > > the
> > > > > following way:
> > > > > >
> > > > > > inputComponent.add(new
> > > AttributeAppender("class", new
> > > > > > Model("errorField"),
> " "));
> > > > > >
> > > > > > How can I remove this CSS class in
> java
> > > code?
> > > > > >
> > > > > > Best!
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > >
> -
> > > > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > > > > For additional commands, e-mail:
> users-h...@wicket.apache.org
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Jeremy Thomerson
> > > > > http://www.wickettraining.com
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> -
> > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > > For additional commands, e-mail: users-h...@wicket.apache.org
> > > >
> > > >
> > > Use a model like it's intended?
> > >
> > > protected void onBeforeRender() {
> > >     super.onBeforeRender();
> > >     inputComponent.add(new
> > > SimpleAttributeModifier("class", true, new
> > > AbstractReadOnlyModel() {
> > >         public
> String getObject() {
> > >         
>    return
> > > inputComponent.getFeedbackMessage() != null
> > > ? "errorField" : "";
> > >         }
> > >     });
> > > }
> > >
> > > --
> > > Jeremy Thomerson
> > > http://www.wickettraining.com
> > >
> >
> >
> >
> >
> >
> -
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
> I wrote the code in gmail, without the benefit of
> autocomplete or compile
> errors.  What I'm really getting at is that you should
> *always* add the
> attribute modifier, which takes a model for the value to
> set the attribute
> to.  The model (either Model or AbstractReadOnlyModel,
> although the latter
> is more appropriate for this) should then return the
> correct value based on
> the logic
> 
> -- 
> Jeremy Thomerson
> http://www.wickettraining.com
> 




-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: How to remove css class from a component?

2010-06-15 Thread David Chang
Zoltan, thanks for your input. The isTemporary works for me!

Best.

--- On Wed, 6/16/10, Zoltan Luspai  wrote:

> From: Zoltan Luspai 
> Subject: Re: How to remove css class from a component?
> To: users@wicket.apache.org
> Date: Wednesday, June 16, 2010, 1:59 AM
> Hi,
> 
> Two alternative solutions:
> 
> - If you want the CSS class be appened only in one response
> then set the 
> AttributeAppender as "temporary"
> ...new AttributeAppender(...) {
>    �...@override
>      isTemporary() { return true} }
> }...
> - Or disable/enable AttributeAppender as needed by
> overriding 
> isEnabled() method of it:
> ...new AttributeAppender(...) {
>    �...@override
>      isEnabled() { return
> inputComponent.getFeedbackMessage() != null }
> }...
> 
> 
> Cheers,
> Zoltan
> 
> 
> On 06/16/2010 07:48 AM, David Chang wrote:
> > Jeremy, glad to hear from you!
> >
> > My situation is a little different. The CSS class is
> added in the following way. Please see the following code.
> >
> >     protected void onBeforeRender() {
> >        
> super.onBeforeRender();
> >         if
> (inputComponent.getFeedbackMessage() != null) {
> >        
>     inputComponent.add(new
> AttributeAppender("class", new
> Model("errorField"), " "));
> >         } else {
> >        
>     // how to remove CSS class
> here??       
>     
> >         }
> >     }
> >
> >
> > Thanks!
> >
> >
> > --- On Wed, 6/16/10, Jeremy Thomerson 
> wrote:
> >
> >    
> >> From: Jeremy Thomerson
> >> Subject: Re: How to remove css class from a
> component?
> >> To: users@wicket.apache.org
> >> Cc: "John Krasnay"
> >> Date: Wednesday, June 16, 2010, 1:40 AM
> >> onComponentTag(...) {
> >> tag.remove("class");
> >> }
> >>
> >> On Wed, Jun 16, 2010 at 12:37 AM, David
> Changwrote:
> >>
> >>      
> >>> Hello,
> >>>
> >>> I add a CSS class to component dynamcially
> the
> >>>        
> >> following way:
> >>      
> >>> inputComponent.add(new
> AttributeAppender("class", new
> >>> Model("errorField"), " "));
> >>>
> >>> How can I remove this CSS class in java code?
> >>>
> >>> Best!
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>        
> >>
> -
> >>      
> >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >>> For additional commands, e-mail: users-h...@wicket.apache.org
> >>>
> >>>
> >>>        
> >>
> >> -- 
> >> Jeremy Thomerson
> >> http://www.wickettraining.com
> >>
> >>      
> >
> >
> >
> >
> -
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >    
> 
> 
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
> 
> 




-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: How to remove css class from a component?

2010-06-15 Thread Jeremy Thomerson
On Wed, Jun 16, 2010 at 1:05 AM, David Chang wrote:

> >>Use a model like it's intended?
>
> You mean I should use AbstractReadOnlyModel?
>
> >>protected void onBeforeRender() {
>super.onBeforeRender();
>inputComponent.add(new SimpleAttributeModifier("class", true, new
> AbstractReadOnlyModel() {
>public String getObject() {
>return inputComponent.getFeedbackMessage() != null
> ? "errorField" : "";
>}
>});
> }
>
> There is no such constructor forSimpleAttributeModifier.
>
> Thanks.
>
>
>
> --- On Wed, 6/16/10, Jeremy Thomerson  wrote:
>
> > From: Jeremy Thomerson 
> > Subject: Re: How to remove css class from a component?
> > To: users@wicket.apache.org
> > Date: Wednesday, June 16, 2010, 1:52 AM
> > On Wed, Jun 16, 2010 at 12:48 AM,
> > David Chang wrote:
> >
> > > Jeremy, glad to hear from you!
> > >
> > > My situation is a little different. The CSS class is
> > added in the following
> > > way. Please see the following code.
> > >
> > >protected void
> > onBeforeRender() {
> > >
> > super.onBeforeRender();
> > >
> > if (inputComponent.getFeedbackMessage() != null) {
> > >
> >
> >inputComponent.add(new
> > AttributeAppender("class",
> > > new Model("errorField"), " "));
> > >
> >} else {
> > >
> > // how to remove CSS class
> > here??
> > >
> > }
> > >}
> > >
> > >
> > > Thanks!
> > >
> > >
> > > --- On Wed, 6/16/10, Jeremy Thomerson 
> > wrote:
> > >
> > > > From: Jeremy Thomerson 
> > > > Subject: Re: How to remove css class from a
> > component?
> > > > To: users@wicket.apache.org
> > > > Cc: "John Krasnay" 
> > > > Date: Wednesday, June 16, 2010, 1:40 AM
> > > > onComponentTag(...) {
> > > > tag.remove("class");
> > > > }
> > > >
> > > > On Wed, Jun 16, 2010 at 12:37 AM, David Chang
> >  > > >wrote:
> > > >
> > > > > Hello,
> > > > >
> > > > > I add a CSS class to component dynamcially
> > the
> > > > following way:
> > > > >
> > > > > inputComponent.add(new
> > AttributeAppender("class", new
> > > > > Model("errorField"), " "));
> > > > >
> > > > > How can I remove this CSS class in java
> > code?
> > > > >
> > > > > Best!
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > -
> > > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > > > For additional commands, e-mail: users-h...@wicket.apache.org
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Jeremy Thomerson
> > > > http://www.wickettraining.com
> > > >
> > >
> > >
> > >
> > >
> > >
> > -
> > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > For additional commands, e-mail: users-h...@wicket.apache.org
> > >
> > >
> > Use a model like it's intended?
> >
> > protected void onBeforeRender() {
> > super.onBeforeRender();
> > inputComponent.add(new
> > SimpleAttributeModifier("class", true, new
> > AbstractReadOnlyModel() {
> > public String getObject() {
> > return
> > inputComponent.getFeedbackMessage() != null
> > ? "errorField" : "";
> > }
> > });
> > }
> >
> > --
> > Jeremy Thomerson
> > http://www.wickettraining.com
> >
>
>
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>
I wrote the code in gmail, without the benefit of autocomplete or compile
errors.  What I'm really getting at is that you should *always* add the
attribute modifier, which takes a model for the value to set the attribute
to.  The model (either Model or AbstractReadOnlyModel, although the latter
is more appropriate for this) should then return the correct value based on
the logic

-- 
Jeremy Thomerson
http://www.wickettraining.com


Re: How to remove css class from a component?

2010-06-15 Thread David Chang
>>Use a model like it's intended?

You mean I should use AbstractReadOnlyModel?

>>protected void onBeforeRender() {
super.onBeforeRender();
inputComponent.add(new SimpleAttributeModifier("class", true, new
AbstractReadOnlyModel() {
public String getObject() {
return inputComponent.getFeedbackMessage() != null
? "errorField" : "";
}
});
}

There is no such constructor forSimpleAttributeModifier.

Thanks.



--- On Wed, 6/16/10, Jeremy Thomerson  wrote:

> From: Jeremy Thomerson 
> Subject: Re: How to remove css class from a component?
> To: users@wicket.apache.org
> Date: Wednesday, June 16, 2010, 1:52 AM
> On Wed, Jun 16, 2010 at 12:48 AM,
> David Chang wrote:
> 
> > Jeremy, glad to hear from you!
> >
> > My situation is a little different. The CSS class is
> added in the following
> > way. Please see the following code.
> >
> >        protected void
> onBeforeRender() {
> >               
> super.onBeforeRender();
> >               
> if (inputComponent.getFeedbackMessage() != null) {
> >               
>      
>    inputComponent.add(new
> AttributeAppender("class",
> > new Model("errorField"), " "));
> >             
>    } else {
> >               
>         // how to remove CSS class
> here??
> >               
> }
> >        }
> >
> >
> > Thanks!
> >
> >
> > --- On Wed, 6/16/10, Jeremy Thomerson 
> wrote:
> >
> > > From: Jeremy Thomerson 
> > > Subject: Re: How to remove css class from a
> component?
> > > To: users@wicket.apache.org
> > > Cc: "John Krasnay" 
> > > Date: Wednesday, June 16, 2010, 1:40 AM
> > > onComponentTag(...) {
> > > tag.remove("class");
> > > }
> > >
> > > On Wed, Jun 16, 2010 at 12:37 AM, David Chang
>  > >wrote:
> > >
> > > > Hello,
> > > >
> > > > I add a CSS class to component dynamcially
> the
> > > following way:
> > > >
> > > > inputComponent.add(new
> AttributeAppender("class", new
> > > > Model("errorField"), " "));
> > > >
> > > > How can I remove this CSS class in java
> code?
> > > >
> > > > Best!
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> -
> > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > > For additional commands, e-mail: users-h...@wicket.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > Jeremy Thomerson
> > > http://www.wickettraining.com
> > >
> >
> >
> >
> >
> >
> -
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
> Use a model like it's intended?
> 
> protected void onBeforeRender() {
>     super.onBeforeRender();
>     inputComponent.add(new
> SimpleAttributeModifier("class", true, new
> AbstractReadOnlyModel() {
>         public String getObject() {
>             return
> inputComponent.getFeedbackMessage() != null
> ? "errorField" : "";
>         }
>     });
> }
> 
> -- 
> Jeremy Thomerson
> http://www.wickettraining.com
> 




-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: How to remove css class from a component?

2010-06-15 Thread Zoltan Luspai

Hi,

Two alternative solutions:

- If you want the CSS class be appened only in one response then set the 
AttributeAppender as "temporary"

...new AttributeAppender(...) {
@Override
isTemporary() { return true} }
}...
- Or disable/enable AttributeAppender as needed by overriding 
isEnabled() method of it:

...new AttributeAppender(...) {
@Override
isEnabled() { return inputComponent.getFeedbackMessage() != null }
}...


Cheers,
Zoltan


On 06/16/2010 07:48 AM, David Chang wrote:

Jeremy, glad to hear from you!

My situation is a little different. The CSS class is added in the following 
way. Please see the following code.

protected void onBeforeRender() {
super.onBeforeRender();
if (inputComponent.getFeedbackMessage() != null) {
inputComponent.add(new AttributeAppender("class", new 
Model("errorField"), " "));
} else {
// how to remove CSS class here??   
}
}


Thanks!


--- On Wed, 6/16/10, Jeremy Thomerson  wrote:

   

From: Jeremy Thomerson
Subject: Re: How to remove css class from a component?
To: users@wicket.apache.org
Cc: "John Krasnay"
Date: Wednesday, June 16, 2010, 1:40 AM
onComponentTag(...) {
tag.remove("class");
}

On Wed, Jun 16, 2010 at 12:37 AM, David Changwrote:

 

Hello,

I add a CSS class to component dynamcially the
   

following way:
 

inputComponent.add(new AttributeAppender("class", new
Model("errorField"), " "));

How can I remove this CSS class in java code?

Best!





   

-
 

To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org


   


--
Jeremy Thomerson
http://www.wickettraining.com

 




-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

   



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: How to remove css class from a component?

2010-06-15 Thread Jeremy Thomerson
On Wed, Jun 16, 2010 at 12:48 AM, David Chang wrote:

> Jeremy, glad to hear from you!
>
> My situation is a little different. The CSS class is added in the following
> way. Please see the following code.
>
>protected void onBeforeRender() {
>super.onBeforeRender();
>if (inputComponent.getFeedbackMessage() != null) {
> inputComponent.add(new AttributeAppender("class",
> new Model("errorField"), " "));
> } else {
>// how to remove CSS class here??
>}
>}
>
>
> Thanks!
>
>
> --- On Wed, 6/16/10, Jeremy Thomerson  wrote:
>
> > From: Jeremy Thomerson 
> > Subject: Re: How to remove css class from a component?
> > To: users@wicket.apache.org
> > Cc: "John Krasnay" 
> > Date: Wednesday, June 16, 2010, 1:40 AM
> > onComponentTag(...) {
> > tag.remove("class");
> > }
> >
> > On Wed, Jun 16, 2010 at 12:37 AM, David Chang  >wrote:
> >
> > > Hello,
> > >
> > > I add a CSS class to component dynamcially the
> > following way:
> > >
> > > inputComponent.add(new AttributeAppender("class", new
> > > Model("errorField"), " "));
> > >
> > > How can I remove this CSS class in java code?
> > >
> > > Best!
> > >
> > >
> > >
> > >
> > >
> > -
> > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > For additional commands, e-mail: users-h...@wicket.apache.org
> > >
> > >
> >
> >
> > --
> > Jeremy Thomerson
> > http://www.wickettraining.com
> >
>
>
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>
Use a model like it's intended?

protected void onBeforeRender() {
super.onBeforeRender();
inputComponent.add(new SimpleAttributeModifier("class", true, new
AbstractReadOnlyModel() {
public String getObject() {
return inputComponent.getFeedbackMessage() != null
? "errorField" : "";
}
});
}

-- 
Jeremy Thomerson
http://www.wickettraining.com


Re: How to remove css class from a component?

2010-06-15 Thread David Chang
Jeremy, glad to hear from you!

My situation is a little different. The CSS class is added in the following 
way. Please see the following code.

protected void onBeforeRender() {
super.onBeforeRender();
if (inputComponent.getFeedbackMessage() != null) {
inputComponent.add(new AttributeAppender("class", new 
Model("errorField"), " "));
} else {
// how to remove CSS class here??   
}
}


Thanks!


--- On Wed, 6/16/10, Jeremy Thomerson  wrote:

> From: Jeremy Thomerson 
> Subject: Re: How to remove css class from a component?
> To: users@wicket.apache.org
> Cc: "John Krasnay" 
> Date: Wednesday, June 16, 2010, 1:40 AM
> onComponentTag(...) {
> tag.remove("class");
> }
> 
> On Wed, Jun 16, 2010 at 12:37 AM, David Chang wrote:
> 
> > Hello,
> >
> > I add a CSS class to component dynamcially the
> following way:
> >
> > inputComponent.add(new AttributeAppender("class", new
> > Model("errorField"), " "));
> >
> > How can I remove this CSS class in java code?
> >
> > Best!
> >
> >
> >
> >
> >
> -
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
> 
> 
> -- 
> Jeremy Thomerson
> http://www.wickettraining.com
> 


  

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: How to remove css class from a component?

2010-06-15 Thread Jeremy Thomerson
onComponentTag(...) {
tag.remove("class");
}

On Wed, Jun 16, 2010 at 12:37 AM, David Chang wrote:

> Hello,
>
> I add a CSS class to component dynamcially the following way:
>
> inputComponent.add(new AttributeAppender("class", new
> Model("errorField"), " "));
>
> How can I remove this CSS class in java code?
>
> Best!
>
>
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


-- 
Jeremy Thomerson
http://www.wickettraining.com


How to remove css class from a component?

2010-06-15 Thread David Chang
Hello,

I add a CSS class to component dynamcially the following way:

inputComponent.add(new AttributeAppender("class", new 
Model("errorField"), " "));

How can I remove this CSS class in java code?

Best!


  

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org