Friday, October 02, 2009

Show loading status page in Cognos Report

<div id="hidepage" style="position: relative; left:0px; top:0px; background-color: #FFFFFF; layer-background-color: #FFFFFF; height: 100%; width: 100%; visibility:hidden">

    <table width="100%" height="100%">

    <tr><td align="center" valign="middle">

        <table width="50%" align="center" style="border: 1 #666666 solid">

            <tr><td align="center" class="row1">

                <br /><img src='http://train1.dstrat.com/cognos8/samples/images/progress.gif'><b>The request is in processing. Please wait......</b><p></p><br />

            </td></tr>

        </table>

    </td></tr></table>

</div>


 


 

<script language="javascript">


 

setTimeout("SetDefaultSelectedItems();",100);


 

function SetDefaultSelectedItems()

{

    HideLoadingStatus(true);

    try

    {    

        var selElements = document.getElementsByTagName('select');

        if(selElements != null)

        {

            var hasSelected = false;

            for(var i=0;i<selElements.length;i++)

            {            

                var selElement = selElements[i];

    
 

                if(selElement.options.length == 1)

                {

                    selElement.options[0].selected = true;

                    hasSelected = true;

                }

            }

            if(hasSelected)

            {

                

                if(selElements[5].selectedIndex > 1 && selElements[6].selectedIndex > 1)

                {

                    var buttons = document.getElementsByTagName('button');

                    for(var k = 0;k<buttons.length;k++)

                    {                    

                        var button = buttons[k];

                        if(button != null && button.innerText == "Finish")

                        {

                            if(button.disabled == true)

                            {

                                HideLoadingStatus(false);

                                 self.setTimeout("promptAction( 'reprompt' );", 200); // set, it is a hidden button

                            }

                            break;

                        }                        

    
 

                    }

    
 

                }

            }

        }

    }catch(e){}

}


 

function HideLoadingStatus(hidden)

{


 

    if(hidden)

        HideLoadingPage();

    else

        ShowLoadingPage();

        

    

}


 

function HideLoadingPage() {

    if (document.getElementById) { // DOM3 = IE5, NS6

        document.getElementById('hidepage').style.visibility = 'hidden';

    }

    else {

        if (document.layers) { // Netscape 4

            document.hidepage.visibility = 'hidden';

        }

        else { // IE 4

        document.all.hidepage.style.visibility = 'hidden';

        }

    }

}


 

function ShowLoadingPage() {

    if (document.getElementById) { // DOM3 = IE5, NS6

        document.getElementById('hidepage').style.visibility = 'visible';

    }

    else {

        if (document.layers) { // Netscape 4

            document.hidepage.visibility = 'show';

        }

        else { // IE 4

            document.all.hidepage.style.visibility = 'visible';

        }

    }

}


 

</script>

1 comments:

Clint said...

Interesting Idea. Don't know if it works or not, because the code really isn't explained well enough.