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) 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: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 > > -- 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-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: clean way to add visibility constraints
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
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
clean way to add visibility constraints
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; } });