Hi,
You may mark any component with data-no-veil attribute.
Later you can check with: if ($(attrs.c).data("no-veil") !== null) {...}
On Fri, Jul 26, 2013 at 1:40 AM, Marios Skounakis <[email protected]> wrote:
> Hi all,
>
> I am subscribing to the global ajax call listeners to show and hide a veil
> during ajax calls. The veil is displayed during all ajax calls. I want a
> way for some components / ajax behaviors to opt our from the veil.
>
> What I'm doing now is adding an extra parameter to the ajaxAttributes and I
> am checking for it in the beforeSend listener as shown in the code below.
>
> Is there a better way to handle this?
>
> -- setup
>
> Wicket.Event.subscribe('/ajax/call/beforeSend', function( attributes,
> jqXHR, settings ) {
> showBusysign(jqXHR)
> });
> Wicket.Event.subscribe('/ajax/call/complete', function( attributes,
> jqXHR, textStatus) {
> hideBusysign()
> });
>
> -- showing the veil:
> function showBusysign(jqXHR) {
> if(typeof jqXHR.ep != 'undefined') {
> for (i=0; i<jqXHR.ep.length; i++) {if (jqXHR.ep[i].name =
> 'noveil') {return;}};
> }
> // go ahead and show the veil
>
> -- java code:
> @Override
> protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
> super.updateAjaxAttributes(attributes);
> attributes.getExtraParameters().put("noveil", "1");
> }
>
>
> Thanks in advance,
> Marios
>