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;

                                         }

                                   });

 

 

Reply via email to