How to use toggleSpinner in javascript for a client Action?

I have a medium-long running client action and are trying to use aras.browserHelper.toggleSpinner() while the client is busy and waiting for the server method to complete. It works fine in Firefox browser but I cant get it to work in Chrome or IE. These browsers just freeze until the action have completed and the "red spinner" is never shown. If someone have an idea about this please share.

The Action (Type: Item, Location: Client) is calling a javascript method (Method: test_client_method, Target: None)

The JS Method (test_client_method)

try
{
aras.browserHelper.toggleSpinner(document, true);

this.apply("long_running_server_method");
}
finally
{
aras.browserHelper.toggleSpinner(document, false);
}

Parents
  • Hi,

    I wonder if the try/finally concept is the best approach. I made a quick test and it looked to me like the toggle spinner is disabled before the Method is finished.

    Maybe a promise is a better approach? Very simple sample:

    // enable toggle spinner
    aras.browserHelper.toggleSpinner(document, true);

    var promise = new Promise(function(resolve, reject) {
    // after 2 seconds disable toggle spinner
    setTimeout(
    function(){
    alert("Done");
    aras.browserHelper.toggleSpinner(document, false);
    }, 2000);
    });

Reply
  • Hi,

    I wonder if the try/finally concept is the best approach. I made a quick test and it looked to me like the toggle spinner is disabled before the Method is finished.

    Maybe a promise is a better approach? Very simple sample:

    // enable toggle spinner
    aras.browserHelper.toggleSpinner(document, true);

    var promise = new Promise(function(resolve, reject) {
    // after 2 seconds disable toggle spinner
    setTimeout(
    function(){
    alert("Done");
    aras.browserHelper.toggleSpinner(document, false);
    }, 2000);
    });

Children
No Data