You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Martijn Dashorst <ma...@gmail.com> on 2009/04/01 11:47:54 UTC

Re: clean way to add visibility constraints

one is static, the other dynamic.

You can make setVisible more dynamic by doing it in page.onBeforeRender

Martijn

On Wed, Apr 1, 2009 at 11:42 AM, Boydens Joeri (OZ) <jo...@oz.be> wrote:
>
> Is there prefered way between the methods below?
>
> if (condition) {
>        component.setVisible(false);
> }
>
> OR
>
> component {
> @Override
> public boolean isVisible() {
>        return !condition;
> }
>
> If I use the above I can group my components and set them with the
> setVisible method depending on the condition, with the last method I
> have to add the the condition to every component.
>
>
> -----Oorspronkelijk bericht-----
> Van: Daan van Etten [mailto:daan@stuq.nl]
> Verzonden: woensdag 1 april 2009 11:20
> Aan: users@wicket.apache.org
> Onderwerp: Re: clean way to add visibility constraints
>
> You could write a method that sets the visibility on the relevant
> components.
> The Form components have to be visible to that method though (or you
> have to use a visitor).
>
> Regards,
>
> Daan
>
> Op 1 apr 2009, om 08:32 heeft Boydens Joeri (OZ) het volgende
> geschreven:
>
>> Hi,
>>
>>
>>
>> I have this page where I have different components that need to be
>> show
>> or hidden, depending on the value of some model fields.  I implemented
>> this by overriding the isVisible method of the components.  Now I was
>> wondering if there is a less verbose way of handling this? (I can't
>> group the components because it's not possible in the html markup).
>>
>>
>>
>> item.add(new TextField("value") {
>>
>>                                         public boolean isVisible() {
>>
>>
>> OnlineBookingParametersArticle     article =
>> (OnlineBookingParametersArticle) getParent().getModel().getObject();
>>
>>                                               return
>> article.getArticle().getNumberInStock() > 0;
>>
>>                                         }
>>
>>                                   });
>>
>>
>>
>>                                   item.add(new
>> Label("article.numberOfArticlesLabel", "Geen beschikbaar") {
>>
>>                                         public boolean isVisible() {
>>
>>
>> OnlineBookingParametersArticle     article =
>> (OnlineBookingParametersArticle) getParent().getModel().getObject();
>>
>>                                               return
>> article.getArticle().getNumberInStock() <= 0;
>>
>>                                         }
>>
>>                                   });
>>
>>
>>
>>                                   item.add(new
>> Label("article.description"));
>>
>>
>>
>>                                   item.add(new
>> WebMarkupContainer("participantInfo") {
>>
>>                                                     public boolean
>> isVisible() {
>>
>>
>> OnlineBookingParametersArticle       article =
>> (OnlineBookingParametersArticle) getParent().getModel().getObject();
>>
>>                                                           return
>> article.getArticle().getNumberInStock() > 0;
>>
>>                                                     }
>>
>>                                               }
>>
>>                                               .add(new
>> Label("article.numberOfRequiredParticipants"))
>>
>>                                               .add(new
>> Label("article.maximumNumberOfParticipants")));
>>
>>
>>
>>
>>
>>                                   item.add(new Link("contactLink"){
>>
>>                                         @Override
>>
>>                                         public void onClick(){
>>
>>                                               //TODO : go to correct
>> page
>>
>>                                         }
>>
>>                                         @Override
>>
>>                                         public boolean isVisible() {
>>
>>
>> OnlineBookingParametersArticle     article =
>> (OnlineBookingParametersArticle) getParent().getModel().getObject();
>>
>>                                               return
>> article.getArticle().getNumberInStock() <= 0;
>>
>>                                         }
>>
>>                                   });
>>
>>
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>



-- 
Become a Wicket expert, learn from the best: http://wicketinaction.com
Apache Wicket 1.3.5 is released
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.

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