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:d...@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-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