107 lines
3.4 KiB
Text
107 lines
3.4 KiB
Text
/*
|
|
* @file
|
|
* This javascript is returned and executed when you create a new node.
|
|
*/
|
|
$('#topic_name').autocomplete('disable');
|
|
$('.ui-autocomplete.ui-widget').fadeOut('fast');
|
|
$('#new_topic').fadeOut('fast');
|
|
$('#topic_name').attr('value','');
|
|
$('#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');
|
|
}
|
|
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').autocomplete('enable');
|
|
$('#new_synapse').fadeIn('fast');
|
|
$('#synapse_desc').focus();
|
|
Mconsole.fx.animate({
|
|
modes: ['node-property:dim'],
|
|
duration: 500,
|
|
onComplete: function() {
|
|
renderMidArrow({ x: tempNode.pos.getc().x, y: tempNode.pos.getc().y }, { x: temp.pos.getc().x, y: temp.pos.getc().y }, 13, false, Mconsole.canvas);
|
|
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() {
|
|
selectNode(temp);
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
} 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() {
|
|
selectNode(temp);
|
|
}
|
|
});
|
|
}
|