- Try to fix feature remove issues.

main
Paulo Gustavo Veiga 2012-09-27 23:41:17 -03:00
parent e5ab234d01
commit 3bd2242080
7 changed files with 15 additions and 20 deletions

View File

@ -281,10 +281,7 @@ mindplot.Topic = new Class({
var model = this.getModel(); var model = this.getModel();
// Update model ... // Update model ...
var feature = model.createFeature(type, attributes); var feature = model.createFeature(type, attributes,featureId);
if ($defined(featureId)) {
feature.setId(featureId);
}
model.addFeature(feature); model.addFeature(feature);

View File

@ -41,14 +41,14 @@ mindplot.TopicFeature = {
}); });
}, },
createModel:function (id, attributes) { createModel:function (type, attributes, id) {
$assert(id, 'type can not be null'); $assert(type, 'type can not be null');
$assert(attributes, 'attributes can not be null'); $assert(attributes, 'attributes can not be null');
var model = mindplot.TopicFeature._featuresMetadataById.filter(function (elem) { var model = mindplot.TopicFeature._featuresMetadataById.filter(function (elem) {
return elem.id == id; return elem.id == type;
})[0].model; })[0].model;
return new model(attributes); return new model(attributes, id);
}, },
createIcon:function (topic, model, readOnly) { createIcon:function (topic, model, readOnly) {

View File

@ -30,7 +30,6 @@ mindplot.commands.RemoveFeatureFromTopicCommand = new Class({
execute:function (commandContext) { execute:function (commandContext) {
var topic = commandContext.findTopics(this._topicId)[0]; var topic = commandContext.findTopics(this._topicId)[0];
var feature = topic.findFeatureById(this._featureId); var feature = topic.findFeatureById(this._featureId);
topic.removeFeature(feature); topic.removeFeature(feature);
this._oldFeature = feature; this._oldFeature = feature;
@ -38,7 +37,6 @@ mindplot.commands.RemoveFeatureFromTopicCommand = new Class({
undoExecute:function (commandContext) { undoExecute:function (commandContext) {
var topic = commandContext.findTopics(this._topicId)[0]; var topic = commandContext.findTopics(this._topicId)[0];
var feature = this._oldFeature; var feature = this._oldFeature;
topic.addFeature(feature.getType(), feature.getAttributes(), this._featureId); topic.addFeature(feature.getType(), feature.getAttributes(), this._featureId);
this._oldFeature = null; this._oldFeature = null;

View File

@ -31,7 +31,7 @@ mindplot.model.FeatureModel = new Class({
initialize:function (type, id) { initialize:function (type, id) {
$assert(type, 'type can not be null'); $assert(type, 'type can not be null');
this._id = $defined(id) ? this._id : mindplot.model.FeatureModel._nextUUID(); this._id = $defined(id) ? id : mindplot.model.FeatureModel._nextUUID();
this._type = type; this._type = type;
this._attributes = {}; this._attributes = {};

View File

@ -17,17 +17,17 @@
*/ */
mindplot.model.IconModel = new Class({ mindplot.model.IconModel = new Class({
Extends: mindplot.model.FeatureModel, Extends:mindplot.model.FeatureModel,
initialize:function(attributes) { initialize:function (attributes, id) {
this.parent(mindplot.model.IconModel.FEATURE_TYPE); this.parent(mindplot.model.IconModel.FEATURE_TYPE, id);
this.setIconType(attributes.id); this.setIconType(attributes.id);
}, },
getIconType : function() { getIconType:function () {
return this.getAttribute('id'); return this.getAttribute('id');
}, },
setIconType : function(iconType) { setIconType:function (iconType) {
$assert(iconType, 'iconType id can not be null'); $assert(iconType, 'iconType id can not be null');
this.setAttribute('id', iconType); this.setAttribute('id', iconType);
} }

View File

@ -18,8 +18,8 @@
mindplot.model.LinkModel = new Class({ mindplot.model.LinkModel = new Class({
Extends:mindplot.model.FeatureModel, Extends:mindplot.model.FeatureModel,
initialize:function (attributes) { initialize:function (attributes,id) {
this.parent(mindplot.model.LinkModel.FEATURE_TYPE); this.parent(mindplot.model.LinkModel.FEATURE_TYPE,id);
this.setUrl(attributes.url); this.setUrl(attributes.url);
}, },

View File

@ -18,8 +18,8 @@
mindplot.model.NoteModel = new Class({ mindplot.model.NoteModel = new Class({
Extends:mindplot.model.FeatureModel, Extends:mindplot.model.FeatureModel,
initialize:function (attributes) { initialize:function (attributes, id) {
this.parent(mindplot.model.NoteModel.FEATURE_TYPE); this.parent(mindplot.model.NoteModel.FEATURE_TYPE, id);
var noteText = attributes.text ? attributes.text : " "; var noteText = attributes.text ? attributes.text : " ";
this.setText(noteText); this.setText(noteText);
}, },