Hi Sebastian,

I am using a heuristic for an optimization problem and this takes about 5-10 
seconds.
So it might be a good idea to use a future task to run this service, which 
receives the data (list of object) in the end.
In the beginning, I would like to initialize the model with an empty list so 
that the page is displayed fast, and in parallel execute a future task; as soon 
as the service has some results, exchanging the model against the data returned.

I have looked at the example described here: 
https://gist.github.com/jonnywray/636875 
<https://gist.github.com/jonnywray/636875>

The future is called correctly, but how can the component/panel be updated via 
the onPostSuccess(AjaxRequestTarget target) method?
By the way, what is the difference when setting the model via constructor (e.g. 
new Panel(id, model)) or via setDefaultModel method?
With the first, the default model is still null.

Thanks, Chris



> Am 04.05.2015 um 01:26 schrieb Sebastien <seb...@gmail.com>:
> 
> Hi Chris,
> 
> I am not sure to see the end result of what you are trying to achieve...
> For me there is a difference between a background process that can take
> some/long time (and that can be controlled in several ways, like ajax timer
> or websockets) and the ajax load of a component/model which should not take
> time (2, or 3 sec max?). I think you should challenge why the model is so
> long to load...
> 
> Anyhow, if you find a way to solve your original question without
> correcting the load duration, the feedback of the user will ever be: "it's
> slow".
> 
> Best regards,
> Sebastien
> 
> 
> 
> On Mon, May 4, 2015 at 12:31 AM, Chris <chris...@gmx.at> wrote:
> 
>> 
>> Hi Sebastian,
>> 
>> Thanks for your support! I am glad that you help me.
>> 
>> I had a look at the spinner but this does not have the feature as the
>> progress bar to automatically show some progress?
>> The problem is that not only subpanel B uses the model (which takes lots
>> of time) but also panel A (I am using the model/data in the response Header
>> to add JS).
>> So panel A and subpanel B have to wait till the model is loaded.
>> 
>> Isn’t there a way to add a progress bar either to panel A or to it’s
>> parent to show the progress of the model’s loading somehow which is
>> rendered immediately?
>> 
>> Thanks, Chris
>> 
>>> Am 04.05.2015 um 00:09 schrieb Sebastien <seb...@gmail.com>:
>>> 
>>> Hi Chris,
>>> 
>>> One solution: If it is acceptable for you to replace the progress-bar by
>> a
>>> spinner, then on-click you can add a AjaxLazyLoadPanel instance, which
>>> underneath loads subpanel b (#getLazyLoadComponent())...
>>> 
>>> Hope this helps,
>>> Sebastien
>>> 
>>> 
>>> On Sun, May 3, 2015 at 11:37 PM, Chris <chris...@gmx.at> wrote:
>>> 
>>>> Hi Sebastian,
>>>> 
>>>> I will explain what I would like to achieve in more detail.
>>>> 
>>>> Based on a component’s button click, panel A receives this event and
>> adds
>>>> a subpanel B with further information (an empty panel is replaced by
>>>> subpanel B). However, it takes about 30 sec to load the model which is
>> used
>>>> both by panel A and subpanel B. The panel gets only rendered after
>>>> everything is loaded and the user currently has to wait and does not get
>>>> any notification.
>>>> 
>>>> Therefore, I added a progress bar (also) in panel A which should get
>>>> immediately updated as the wicket event is fired and executed until the
>>>> model is loaded. However, if I add the AbstractAjaxTimerBehavior to the
>>>> progress bar’s form based on the wicket event, the progress bar does not
>>>> get rendered. It is rendered together with panel A as all are bound to
>> the
>>>> same ajax target.
>>>> 
>>>> How can I change this so that the progress bar is executed (updated) in
>>>> parallel to rendering panel A?
>>>> 
>>>> I hope this is understandable -
>>>> 
>>>> Thanks, Chris
>>>> 
>>>> 
>>>> 
>>>>> Am 03.05.2015 um 23:22 schrieb Sebastien <seb...@gmail.com>:
>>>>> 
>>>>> Hi Chris, the background process should be asynchronous...
>>>>> 
>>>>> 
>>>>> On Sun, May 3, 2015 at 9:30 PM, Chris <chris...@gmx.at> wrote:
>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> the theme.css was missing.
>>>>>> 
>>>>>> I have put the progress bar in a panel and add the behavior to the
>> form
>>>>>> based on a wicket event (click button).
>>>>>> How can I run the run the progress bar in parallel to some background
>>>>>> process so that the panel gets updated and not waits until the page
>>>> renders
>>>>>> itself?
>>>>>> update.getTarget().add(...);
>>>>>> 
>>>>>> Thanks
>>>>>> 
>>>>>> 
>>>>>>> Am 03.05.2015 um 21:06 schrieb Chris <chris...@gmx.at>:
>>>>>>> 
>>>>>>> Hi Sebastian,
>>>>>>> 
>>>>>>> thanks - I will have a look at it.
>>>>>>> 
>>>>>>> Currently, I would like to run the example, however, only the
>> feedback
>>>>>> panel is shown, but not the table.
>>>>>>> I have included the jquery-ui.css - what else might I be missing?
>>>>>>> 
>>>>>>> Chris
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> Am 03.05.2015 um 20:44 schrieb Sebastien <seb...@gmail.com>:
>>>>>>>> 
>>>>>>>> Hi Chris,
>>>>>>>> 
>>>>>>>> Actually progressbar does not hold a timer, its a separate
>>>>>>>> AbstractAjaxTimerBehavior.
>>>>>>>> You can extend the AbstractAjaxTimerBehavior to control the
>>>> progressbar
>>>>>> -
>>>>>>>> like in the demo - and add this custom behavior only when you need
>> it
>>>>>>>> (button click for instance)
>>>>>>>> 
>>>>>>>> Hope this helps,
>>>>>>>> Sebastien
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Sun, May 3, 2015 at 8:06 PM, Chris <chris...@gmx.at> wrote:
>>>>>>>> 
>>>>>>>>> Hi all,
>>>>>>>>> 
>>>>>>>>> how can the timer of the progress bar initialized, so that it does
>>>> not
>>>>>>>>> start automatically and only after a Wicket event is received (e.g.
>>>>>> button
>>>>>>>>> click in another component?)
>>>>>>>>> 
>>>>>> 
>>>> 
>> http://www.7thweb.net/wicket-jquery-ui/progressbar/DefaultProgressBarPage?5
>>>>>>>>> <
>>>>>>>>> 
>>>>>> 
>>>> 
>> http://www.7thweb.net/wicket-jquery-ui/progressbar/DefaultProgressBarPage?5
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Thanks, Chris
>>>>>>> 
>>>>>>> 
>>>>>>> ---------------------------------------------------------------------
>>>>>>> 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