Workaround for change text event.

This commit is contained in:
Paulo Gustavo Veiga 2012-11-05 00:11:14 -03:00
parent 7feb29b151
commit 53768b5400
2 changed files with 15 additions and 25 deletions

View File

@ -54,7 +54,6 @@ mindplot.StandaloneActionDispatcher = new Class({
};
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, topicId, position);
command.desc = "move topic";
this.execute(command);
},
@ -72,7 +71,6 @@ mindplot.StandaloneActionDispatcher = new Class({
return result;
};
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, topicsIds);
command.desc = "changeFontStyleToTopic";
this.execute(command);
},
@ -85,9 +83,9 @@ mindplot.StandaloneActionDispatcher = new Class({
topic.setText(value);
return result;
};
command.commandType = "changeTextToTopic";
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, topicsIds, text);
command.desc = "changeTextToTopic";
this.execute(command);
},
@ -105,8 +103,6 @@ mindplot.StandaloneActionDispatcher = new Class({
};
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, topicIds, fontFamily);
command.desc = "changeFontFamilyToTopic";
this.execute(command);
},
@ -122,7 +118,6 @@ mindplot.StandaloneActionDispatcher = new Class({
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, topicsIds, color);
command.discardDuplicated = "fontColorCommandId";
command.desc = "changeFontColorToTopic";
this.execute(command);
},
@ -138,8 +133,6 @@ mindplot.StandaloneActionDispatcher = new Class({
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, topicsIds, color);
command.discardDuplicated = "backColor";
command.desc = "changeBackgroundColorToTopic";
this.execute(command);
},
@ -155,8 +148,6 @@ mindplot.StandaloneActionDispatcher = new Class({
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, topicsIds, color);
command.discardDuplicated = "borderColorCommandId";
command.desc = "changeBorderColorToTopic";
this.execute(command);
},
@ -173,8 +164,6 @@ mindplot.StandaloneActionDispatcher = new Class({
};
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, topicsIds, size);
command.desc = "changeFontSizeToTopic";
this.execute(command);
},
@ -189,8 +178,6 @@ mindplot.StandaloneActionDispatcher = new Class({
};
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, topicsIds, shapeType);
command.desc = "changeShapeTypeToTopic";
this.execute(command);
},
@ -207,8 +194,6 @@ mindplot.StandaloneActionDispatcher = new Class({
};
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, topicsIds);
command.desc = "changeFontWeightToTopic";
this.execute(command);
},
@ -221,8 +206,6 @@ mindplot.StandaloneActionDispatcher = new Class({
};
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, topicsIds, collapse);
command.desc = "shrinkBranch";
this.execute(command, false);
},

View File

@ -32,19 +32,26 @@ mindplot.commands.GenericFunctionCommand = new Class({
execute:function (commandContext) {
if (!this.applied) {
// @Todo: Debug hack. Remove
var topics;
var topics = null;
try {
topics = commandContext.findTopics(this._topicsId);
} catch (e) {
throw new Error(e + "," + this._commandFunc + "," + this._commandFunc.desc);
if (this._commandFunc.commandType != "changeTextToTopic") {
// Workaround: For some reason, there is a combination of events that involves
// making some modification and firing out out focus. This is causing
// that a remove node try to be removed. In some other life, I will come with the solution.
throw e;
}
}
topics.each(function (topic) {
var oldValue = this._commandFunc(topic, this._value);
this._oldValues.push(oldValue);
}.bind(this));
if (topics != null) {
topics.each(function (topic) {
var oldValue = this._commandFunc(topic, this._value);
this._oldValues.push(oldValue);
}.bind(this));
}
this.applied = true;
} else {
throw "Command can not be applied two times in a row.";
}