In your snippet you put the isVisible in the ByteArrayResource. That's why you 
get the error message - move it to your ResourceLink 

One easy way to update from parent would be: make a method in your panel which 
returns your link then make your panel a field in the parent and call the 
getter in the callback and add the link to your AjaxRequestTarget there.

kind regards

Tobias

> Am 09.05.2015 um 20:19 schrieb Chris <chris...@gmx.at>:
> 
> 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
> 

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

Reply via email to