- Fix setting position on beta maps.

This commit is contained in:
Paulo Gustavo Veiga 2012-09-24 15:20:43 -03:00
parent 0dafb4b31b
commit cfaa8f786d

View File

@ -29,6 +29,24 @@ mindplot.persistence.Beta2PelaMigrator = new Class({
$assert($defined(mapId), "mapId can not be null");
var mindmap = this._betaSerializer.loadFromDom(dom, mapId);
mindmap.setVersion(mindplot.persistence.ModelCodeName.PELA);
// Beta does not set position on second level nodes ...
var branches = mindmap.getBranches();
branches.each(function (model) {
this._fixPosition(model);
}.bind(this));
return mindmap;
},
_fixPosition:function (parentModel) {
var parentPos = parentModel.getPosition();
var isRight = parentPos.x > 0;
parentModel.getChildren().each(function (child) {
if (!child.getPosition()) {
child.setPosition(parentPos.x + (50 * isRight ? 1 : -1), parentPos.y);
}
this._fixPosition(child);
}.bind(this));
}
});