diff --git a/app/assets/javascripts/src/Metamaps.Control.js b/app/assets/javascripts/src/Metamaps.Control.js index a6058ac2..da6854c2 100644 --- a/app/assets/javascripts/src/Metamaps.Control.js +++ b/app/assets/javascripts/src/Metamaps.Control.js @@ -113,9 +113,14 @@ Metamaps.Control = { removeSelectedNodes: function () { // refers to removing topics permanently from a map if (Metamaps.Active.Topic) { // hideNode will handle synapses as well - _.each(Metamaps.Selected.Nodes, function(node) { - Metamaps.Control.hideNode(node.id) - Metamaps.Topics.remove(node.id) + var nodeids = _.map(Metamaps.Selected.Nodes, function(node) { + return node.id + }) + _.each(nodeids, function(nodeid) { + if (Metamaps.Active.Topic.id !== nodeid) { + Metamaps.Topics.remove(nodeid) + Metamaps.Control.hideNode(nodeid) + } }) return } diff --git a/app/assets/javascripts/src/Metamaps.Topic.js b/app/assets/javascripts/src/Metamaps.Topic.js index d5b5d7cf..b095bcf4 100644 --- a/app/assets/javascripts/src/Metamaps.Topic.js +++ b/app/assets/javascripts/src/Metamaps.Topic.js @@ -105,7 +105,9 @@ Metamaps.Topic = { Metamaps.Visualize.mGraph.onClick(nodeid, { hideLabels: false, duration: 1000, - onComplete: callback + onComplete: function () { + if (callback) callback() + } }) } },