/* * @file * Javascript code for realtime callbacks * TODO: Connor, could you explain this code sometime? */ var tempForT, tempForS, tempForM; <% @topics.each do |topic| %> var topic = <%= topic.selfonmap_as_json(@map.id).html_safe %>; tempForT = Mconsole.graph.getNode(topic.id); if (tempForT === undefined) { Mconsole.graph.addNode(topic); var tempForT = Mconsole.graph.getNode(topic.id); tempForT.setData('dim', 1, 'start'); tempForT.setData('dim', 25, 'end'); var newPos = new $jit.Complex(); newPos.x = tempForT.data.$xloc; newPos.y = tempForT.data.$yloc; tempForT.setPos(newPos, 'start'); tempForT.setPos(newPos, 'current'); tempForT.setPos(newPos, 'end'); Mconsole.fx.plotNode(tempForT, Mconsole.canvas); Mconsole.labels.plotLabel(Mconsole.canvas, tempForT, Mconsole.config); } else { var label = Mconsole.labels.getLabel(topic.id); tempForT.setData('dim', 25, 'start'); tempForT.setData('dim', 25, 'current'); tempForT.setData('dim', 25, 'end'); if (tempForT.name != topic.name) { tempForT.name = topic.name; $(label).find('.best_in_place_name').html(topic.name); $(label).find('.label').html(topic.name); } if (tempForT.data.$metacode != topic.data.$metacode) { $(label).find('.best_in_place_metacode').html(topic.data.$metacode); $(label).find('img.icon').attr('alt', topic.data.$metacode); $(label).find('img.icon').attr('src', imgArray[topic.data.$metacode].src); } if (tempForT.data.$desc != topic.data.$desc) { $(label).find('.best_in_place_desc').html(topic.data.$desc); } if (tempForT.data.$link != topic.data.$link) { $(label).find('.best_in_place_link').html(topic.data.$link); $(label).find('.link').attr('href',topic.data.$link); } tempForT.data = topic.data; } <% end %> <% @synapses.each do |synapse| %> var Node1 = Mconsole.graph.getNode(<%= synapse.topic1.id %>); var Node2 = Mconsole.graph.getNode(<%= synapse.topic2.id %>); Mconsole.graph.addAdjacence(Node1, Node2, {}); tempForS = Mconsole.graph.getAdjacence(Node1.id, Node2.id); tempForS.setDataset('start', { lineWidth: 0.4 }); tempForS.setDataset('end', { lineWidth: 2 }); var d = new Array(<%= synapse.node1_id.to_s() %>, <%= synapse.node2_id.to_s() %>); tempForS.setDataset('current', { desc: '<%= synapse.desc %>', showDesc: false, category: '<%= synapse.category %>', id: '<%= synapse.id %>', userid: '<%= synapse.user.id %>', username: '<%= synapse.user.name %>' }); tempForS.data.$direction = d; Mconsole.fx.plotLine(tempForS, Mconsole.canvas); <% end %> <% @mappings.each do |mapping| %> tempForM = Mconsole.graph.getNode(<%= mapping.topic_id %>); tempForM.data.$xloc = <%= mapping.xloc %>; tempForM.data.$yloc = <%= mapping.yloc %>; var newPos = new $jit.Complex(); newPos.x = tempForM.data.$xloc; newPos.y = tempForM.data.$yloc; tempForM.setPos(newPos, 'start'); tempForM.setPos(newPos, 'current'); tempForM.setPos(newPos, 'end'); <% end %> <% if @topics.length > 0 || @synapses.length > 0 || @mappings.length > 0 %> $('#map_time').val(Math.round((new Date()).getTime() / 1000)); Mconsole.fx.animate({ modes: ['linear','node-property:dim','edge-property:lineWidth'], transition: $jit.Trans.Quad.easeInOut, duration: 500 }); <% end %>