Hi Martin,

Thanks for your answer!

On Fri, Jan 25, 2013 at 1:51 PM, Martin Grigorov <mgrigo...@apache.org>wrote:

> Hi Ernesto,
>
> Since https://issues.apache.org/jira/browse/WICKET-4881 (6.4.0)  Wicket
> combines all JS snippets (AjaxRequestTarget#append/prependJavaScript())
> into at most one <evaluate-priority> and one <evaluate>. So this
> optimization is in place in core.
>
>
Yes this is one big step on such optimization!

Another step could be collecting all

Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-1-actions-edit","e":"click","c":"editf6"});
....

into a single

Wicket.Ajax.ajax([{a1}, {a}, ... {aN} ]);

For this case you don't gain much (just removing a "few"
Wicket.Ajax.ajax))...

Or you can collect them by "event" and do something like

Wicket.Ajax.ajax([{e:"click",[{a1}, {a}, ... {aN}]}, {e:"onchage", [{b1},
... {bN}]]}, ...]);

in this case you get rid of a lot of repeated e: "click" and e:"onchage".
Of course this will only pay of for page with lots of links and so on...

In our use case for the date picker this a big optimizations because there
is a lot of "static" data that is repeater over and over (I so you already
rolled out something like that at the client side for 6.0.x date picker).


> For non-Ajax requests you can use
> org.apache.wicket.markup.html.IHeaderResponseDecorator. You can again
> collect all JS in a thread local (or in RequestCycle's metadata) and
> contribute it as optimized JS call just before HeaderResponse#close().
> I.e. instead of having N entries in Wicket.Event.add(window, 'domready',
> function() { HERE }) you will have just one (the optimized) entry.
>
>
Thank you very much for the idea!

-- 
Regards - Ernesto Reinaldo Barreiro
Antilia Soft
http://antiliasoft.com/ <http://antiliasoft.com/antilia>

Reply via email to