- Fix do/redo removal of multiple elements

This commit is contained in:
Paulo Gustavo Veiga 2012-07-08 16:43:18 -03:00
parent 3a0c79a2a8
commit a5acdc7bb7
3 changed files with 7 additions and 11 deletions

View File

@ -49,8 +49,9 @@ mindplot.commands.DeleteCommand = new Class({
commandContext.deleteRelationship(relationship); commandContext.deleteRelationship(relationship);
} }
// Delete the node itself ... // Store information for undo ...
this._deletedTopicModels.push(model); var clonedModel = model.clone();
this._deletedTopicModels.push(clonedModel);
var outTopic = topic.getOutgoingConnectedTopic(); var outTopic = topic.getOutgoingConnectedTopic();
var outTopicId = null; var outTopicId = null;
if (outTopic != null) { if (outTopic != null) {
@ -84,7 +85,7 @@ mindplot.commands.DeleteCommand = new Class({
var parentTopic = parent[index]; var parentTopic = parent[index];
if (parentTopic != null) { if (parentTopic != null) {
commandContext.connect(topic, parentTopic); commandContext.connect(topic, parentTopic);
topic.setOnFocus(); topic.setOnFocus(true);
} }
}.bind(this) }.bind(this)

View File

@ -234,7 +234,7 @@ mindplot.model.INodeModel = new Class({
deleteNode : function() { deleteNode : function() {
var mindmap = this.getMindmap(); var mindmap = this.getMindmap();
console.log("Before:" + mindmap.inspect()); // console.log("Before:" + mindmap.inspect());
var parent = this.getParent(); var parent = this.getParent();
if ($defined(parent)) { if ($defined(parent)) {
parent.removeChild(this); parent.removeChild(this);
@ -243,7 +243,7 @@ mindplot.model.INodeModel = new Class({
mindmap.removeBranch(this); mindmap.removeBranch(this);
} }
// It's an isolated node. It must be a hole branch ... // It's an isolated node. It must be a hole branch ...
console.log("After:" + mindmap.inspect()); // console.log("After:" + mindmap.inspect());
}, },
getPropertiesKeys : function() { getPropertiesKeys : function() {

View File

@ -86,7 +86,7 @@ mindplot.model.NodeModel = new Class({
clone : function() { clone : function() {
var result = new mindplot.model.NodeModel(this.getType(), this._mindmap); var result = new mindplot.model.NodeModel(this.getType(), this._mindmap);
result._children = this._children.each(function(node) { result._children = this._children.map(function(node) {
var cnode = node.clone(); var cnode = node.clone();
cnode._parent = result; cnode._parent = result;
return cnode; return cnode;
@ -201,10 +201,5 @@ mindplot.model.NodeModel = new Class({
} }
} }
return result; return result;
},
inspect : function() {
return '(type:' + this.getType() + ' , id: ' + this.getId() + ')';
} }
}); });