Implement sorting on Ajax response

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • naveenkongati
    New Member
    • Oct 2008
    • 52

    Implement sorting on Ajax response

    Hi,
    I have created a dynamic widget using dojo support.
    Now i would like to implement the sorting feature for the changing the display order either by name or status of the computer.Please suggest me.
    Code:
    function LabMonitor(container_element, lab_identifier){
        var _pause = false;
        var _lab = lab_identifier;
         var _getComputerInfo = function(){
            if (_pause) {
                return;
        }
        dojo.xhrGet({
                url: "php/getComputerInfo.php?lab=" + _lab,
                handleAs: "json",
                timeout: 5000,
                load: function(response, details){
                    _refreshComputerStatus(response);
                },
                error: function(error_msg, details){
                    _handleError(error_msg);
                }
            });
        }
        
        var _computers = new Array();
         var _refreshComputerStatus = function(computer_info){
        var result = "";
             
        for (var i = 0; i < computer_info[_lab].length; i++) {
         
        var computer = computer_info[_lab][i];
        var is_known = false;
    
    	for (var j = 0; j < _computers.length; j++) {
                    if (_computers[j].getName() == computer.name) {
                        is_known = true;
                        break;
               };
        }
                
        if (is_known === true) {
         result += "<span class='computer'>"+computer.name+"</span><span class='"+computer.status+"'>"+computer.status+"</span><br/>";
       } else {
                   _computers.push({
                   name : computer.name,
                   getName : function() {
                   return this.name;
              }
        });
    	   result += "<span class='computer'>"+computer.name+"</span><span class='"+computer.status+"'>"+computer.status+"</span><br/>";
            }
                
       }
    		var html = "<div class='title'>Monitoring Lab"+ _lab+"</div>";
    		html += "<div class='toolbar'>Sortby <input type='radio' value='name' name='sort'/>name <input type='radio' value='status' name='sort'/>status</div>"; 
    		html += "<div id='results"+_lab+"'>"+result +"</div>";
    		container_element.innerHTML = html;
    		 
    	 
    }
    		
    		
    		pause =  function() {
    			_pause = true;
    		};
    		unpause = function() {
    			_pasue = false;
    		};
    		var _handleError = function(){
     	}
        setInterval(_getComputerInfo, 3000);
    }
Working...