var stargit=(function(){ // Functions: var flash; var githubNodesObj = {}; var githubEdgesObj = {}; var graphAttributes = {}; function setFlash(){ flash = $('#SiGMa')[0]; if(!flash){ return false; }else{ return true; } } // This function refreshes the graph from the login of // a user: function getGithubGraph(user){ url = "/graph/local/"+user; $.ajax({ url: url, dataType: 'json', success: function(json){ resetGraph(json); } }); } // This function gets the graph attributes to refresh // the different comboboxes: function getGraphAttributes(){ url = "/graph/attributes"; $.ajax({ url: url, dataType: 'json', success: function(json){ graphAttributes = (json && json["attributes"]) ? json["attributes"] : {}; setComboBoxes(); } }); } function resetGraph(graph){ if(!setFlash()){ return; } flash.resetGraphPosition(); flash.killForceAtlas(); flash.deleteGraph(); flash.updateGraph(graph); flash.initForceAtlas(); if($("#query_color").value) flash.setColor($("#query_color").value,graphAttributes); if($("#query_size").value) flash.setSize($("#query_size").value); } // This function updates the comboboxes: function setComboBoxes(){ var colorAtts = []; var sizeAtts = []; for(var att in graphAttributes){ graphAttributes[att]["id"] = att; if(graphAttributes[att]["type"]=="Num"){ sizeAtts.push(graphAttributes[att]); colorAtts.push(graphAttributes[att]); }else{ colorAtts.push(graphAttributes[att]); } } var nodes_color = $("#query_color"); var nodes_size = $("#query_size"); while(nodes_color.options.length) nodes_color.options.remove(0); while(nodes_size.options.length) nodes_size.options.remove(0); var i; var optn; var l=colorAtts.length; for(i=0;i