metamaps--metamaps/app/views/topics/create.js.erb
2014-01-28 22:46:58 -05:00

116 lines
3.6 KiB
Plaintext

/*
* @file
* This javascript is returned and executed when you create a new node.
*/
$('#new_topic').fadeOut('fast');
$('#topic_name').typeahead('setQuery','');
$('#topic_grabTopic').attr('value','null');
$('#topic_addSynapse').attr('value','false');
var newnode = <%= @topic.self_as_json.html_safe %>;
var x = <%= @position['x'] %>;
var y = <%= @position['y'] %>;
if (!$.isEmptyObject(Mconsole.graph.nodes)) {
Mconsole.graph.addNode(newnode);
// set the animation for everything back to normal
Mconsole.graph.eachNode( function (n) {
n.setData('dim', 25, 'start');
n.setData('dim', 25, 'end');
});
var temp = Mconsole.graph.getNode('<%= @topic.id %>');
temp.setData('dim', 1, 'start');
temp.setData('dim', 40, 'end');
temp.setData('whiteCircle', false);
temp.setData('greenCircle', false);
if (gType == "centered") {
var tempPos = new $jit.Complex(x, y);
tempPos = tempPos.toPolar();
temp.setPos(tempPos, 'current');
temp.setPos(tempPos, 'start');
temp.setPos(tempPos, 'end');
temp._depth = tempNode._depth + 1;
}
else if (gType == "arranged" || gType == "chaotic") {
temp.setData('xloc',0);
temp.setData('yloc',0);
<% if not @mapping.nil? %>
temp.setData('mappingid', <%= @mapping.id %>);
<% elsif @mapping.nil? %>
temp.setData('mappingid', null);
<% end %>
temp.setPos(new $jit.Complex(x, y), 'current');
temp.setPos(new $jit.Complex(x, y), 'start');
temp.setPos(new $jit.Complex(x, y), 'end');
}
if ( '<%= @synapse %>' == "true" ) {
$('#synapse_topic1id').val(tempNode.id);
$('#synapse_topic2id').val(temp.id);
$('#synapse_desc').val("");
$('#new_synapse').fadeIn('fast');
$('#synapse_desc').focus();
Mconsole.fx.animate({
modes: ['node-property:dim'],
duration: 500,
onComplete: function() {
setTimeout(function (){
temp.setData('dim', 25, 'current');
Mconsole.plot();
}, 3000);
Mconsole.fx.plotNode(tempNode, Mconsole.canvas);
Mconsole.fx.plotNode(temp, Mconsole.canvas);
tempNode = null;
tempNode2 = null;
tempInit = false;
}
});
} else if ( '<%= @synapse %>' == "false" ) {
Mconsole.fx.plotNode(temp, Mconsole.canvas);
Mconsole.fx.animate({
modes: ['node-property:dim'],
duration: 500,
onComplete: function() {
setTimeout(function (){
temp.setData('dim', 25, 'current');
Mconsole.plot();
}, 3000);
}
});
}
} else {
json = newnode;
Mconsole.loadJSON(json);
var temp = Mconsole.graph.getNode('<%= @topic.id %>');
temp.setData('dim', 1, 'start');
temp.setData('dim', 25, 'end');
temp.setData('whiteCircle', false);
temp.setData('greenCircle', false);
if (gType == "arranged" || gType == "chaotic") {
<% if not @mapping.nil? %>
temp.setData('mappingid', <%= @mapping.id %>);
<% elsif @mapping.nil? %>
temp.setData('mappingid', null);
<% end %>
}
temp.setPos(new $jit.Complex(x, y), 'current');
temp.setPos(new $jit.Complex(x, y), 'start');
temp.setPos(new $jit.Complex(x, y), 'end');
Mconsole.fx.plotNode(temp, Mconsole.canvas);
Mconsole.fx.animate({
modes: ['node-property:dim'],
duration: 500,
onComplete: function() {
setTimeout(function (){
temp.setData('dim', 25, 'current');
Mconsole.plot();
}, 3000);
}
});
}