CTreeView using url and toggle

Greetings,

I’m using CTreeView with ‘url’ and ‘toggle’ and both seem to work but I have a bit of a problem. It appears the ‘toggle’ callback happens right when a node is clicked which is before the AJAX request can finish loading the new node. So how can one tell via Javascript when a dynamic CTreeView node has finished loading?

Thanks,

Ian

Guess I should know these things but with some digging I found a solution to my problem. When using CTreeView with ‘url’ for AJAX loading ‘toggle’ only fires when a node is clicked. I was able to determine when nodes are done loading using jQuery by register a global .ajaxComplete() listener and then using the AJAX url to determine the request. The javascript looks something like this:




$(document).ready(function()

    {

        $('body').ajaxComplete(ajaxJustFinsihed);

    });




function ajaxJustFinsihed(event, XMLHttpRequest, ajaxOptions)

{

    if(ajaxOptions.url.indexOf('ajaxFillTree')) {

        alert('Finished loading AJAX tree nodes');

    }

}



If there is a better way I would like to know. Otherwise I hope this information save someone some time.