Hi, thanks, I am getting the message "method does not override method from its superclass."
The problem is that I do not have the callback method in this panel but in its parent; I would need to have a getter method so that I can directly access the resource link from the panel instance and change its visibility. ResourceLink pl = new ResourceLink("pdfLink", new ByteArrayResource("application/pdf") { @Override protected boolean isVisible() { return ....; } }); Chris > Am 09.05.2015 um 20:12 schrieb Tobias Soloschenko > <tobiassolosche...@googlemail.com>: > > Yes - should work because isVisible is inherited from component: > > http://ci.apache.org/projects/wicket/apidocs/6.0.x/org/apache/wicket/markup/html/link/ResourceLink.html > > But watch out not to put in expensive calls in it! The user guide is also > mentioning a lot about that topic: > > https://wicket.apache.org/guide/guide/bestpractices.html#bestpractices_5 > > At this place it is good to mention the new location of the guide: > > http://ci.apache.org/projects/wicket/guide/6.x/ > > http://ci.apache.org/projects/wicket/guide/7.x/ > > kind regards > > Tobias > >> Am 09.05.2015 um 19:58 schrieb Chris <chris...@gmx.at>: >> >> Hi Tobias, >> >> thanks! Can the isVisible method be directly overridden also by a >> ResourceLink? >> >> ResourceLink pl = new ResourceLink(..) { >> protected boolean isVisible() {…} >> } >> Chris >> >> >>> Am 09.05.2015 um 19:46 schrieb Tobias Soloschenko >>> <tobiassolosche...@googlemail.com>: >>> >>> Hi, >>> >>> the constructor of your panel is only called at a normal request - you have >>> to set the visibility of your link in the ajax callback via >>> AjaxRequestTarget. >>> >>> 1. setOutputMarkupId and setOutputMarkupPlaceholder of the link to true (in >>> your constructor) >>> >>> 2. set the visibility to your component in the callback method (based on >>> your Model) >>> >>> 3. add the component to the AjaxRequestTarget so that it is updated >>> >>> Another solution would be to override the isVisible method and return the >>> visibility based on your model and then only add the component to the >>> AjaxRequestTarget. >>> >>> kind regards >>> >>> Tobias >>> >>>> Am 09.05.2015 um 19:29 schrieb Chris <chris...@gmx.at>: >>>> >>>> Hi all, >>>> >>>> currently, the visibility of the resource link is not updated when the >>>> parent component of the panel is rendered again based on an ajax call. >>>> >>>> How can the visibility set dynamically based on the model’s data? >>>> >>>> Thanks, Chris >>>> >>>> public SomePanel(String id, final IModel<List<A>> model) { >>>> super(id, model); >>>> >>>> ResourceLink pl = new ResourceLink("pdfLink", new >>>> ByteArrayResource("application/pdf") {...} >>>> pl.setVisible(routingModel.getObject().get(0).getElements().size() > 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 >> > > --------------------------------------------------------------------- > 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