From 55f9352c59431180c515691221c1e8447984ba97 Mon Sep 17 00:00:00 2001 From: Pablo Luna Date: Thu, 17 Mar 2011 16:28:19 +0000 Subject: [PATCH] refactoring layout - fixing bugs --- mindplot/src/main/javascript/MainTopic.js | 3 +-- .../src/main/javascript/MindmapDesigner.js | 19 +++++++++++++++++++ .../layoutManagers/BaseLayoutManager.js | 5 +++++ .../layoutManagers/OriginalLayoutManager.js | 7 ++++++- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/mindplot/src/main/javascript/MainTopic.js b/mindplot/src/main/javascript/MainTopic.js index aa30a8b0..855e59f1 100644 --- a/mindplot/src/main/javascript/MainTopic.js +++ b/mindplot/src/main/javascript/MainTopic.js @@ -20,8 +20,7 @@ mindplot.MainTopic = function(model) { core.assert(model, "Model can not be null"); this.setModel(model); - var topicBoard = new mindplot.MainTopicBoard(this); - mindplot.MainTopic.superClass.initialize.call(this, topicBoard); + mindplot.MainTopic.superClass.initialize.call(this); }; objects.extend(mindplot.MainTopic, mindplot.Topic); diff --git a/mindplot/src/main/javascript/MindmapDesigner.js b/mindplot/src/main/javascript/MindmapDesigner.js index 227a0135..480e2ad9 100644 --- a/mindplot/src/main/javascript/MindmapDesigner.js +++ b/mindplot/src/main/javascript/MindmapDesigner.js @@ -455,6 +455,25 @@ mindplot.MindmapDesigner.prototype._nodeModelToNodeGraph = function(nodeModel, i var children = nodeModel.getChildren().slice(); + // Sort children by order to solve adding order in for OriginalLayoutManager... + if (this._layoutManager.getType() == mindplot.layoutManagers.OriginalLayoutManager.NAME && nodeGraph.getTopicType()!=mindplot.NodeModel.CENTRAL_TOPIC_TYPE && children.length > 0) + { + var oldChildren = children; + children = []; + for (var i = 0; i < oldChildren.length; i++) + { + var child = oldChildren[i]; + var order = child.getOrder(); + if (order != null) + { + children[order] = child; + } else + { + children.push(child); + } + } + } + for (var i = 0; i < children.length; i++) { var child = children[i]; diff --git a/mindplot/src/main/javascript/layoutManagers/BaseLayoutManager.js b/mindplot/src/main/javascript/layoutManagers/BaseLayoutManager.js index 6fe32ce7..1036252a 100644 --- a/mindplot/src/main/javascript/layoutManagers/BaseLayoutManager.js +++ b/mindplot/src/main/javascript/layoutManagers/BaseLayoutManager.js @@ -34,8 +34,13 @@ mindplot.layoutManagers.BaseLayoutManager = new Class({ }, getDesigner:function(){ return this._designer; + }, + getType:function(){ + return mindplot.layoutManagers.BaseLayoutManager.NAME; } }); +mindplot.layoutManagers.BaseLayoutManager.NAME ="BaseLayoutManager"; + mindplot.layoutManagers.BaseLayoutManager.implement(new Events); mindplot.layoutManagers.BaseLayoutManager.implement(new Options); \ No newline at end of file diff --git a/mindplot/src/main/javascript/layoutManagers/OriginalLayoutManager.js b/mindplot/src/main/javascript/layoutManagers/OriginalLayoutManager.js index 7a53baac..17e9864b 100644 --- a/mindplot/src/main/javascript/layoutManagers/OriginalLayoutManager.js +++ b/mindplot/src/main/javascript/layoutManagers/OriginalLayoutManager.js @@ -138,5 +138,10 @@ mindplot.layoutManagers.OriginalLayoutManager = mindplot.layoutManagers.BaseLayo _isCentralTopic:function(node){ var type = node.getModel().getType(); return type == mindplot.NodeModel.CENTRAL_TOPIC_TYPE; + }, + getType:function(){ + return mindplot.layoutManagers.OriginalLayoutManager.NAME; } -}); \ No newline at end of file +}); + +mindplot.layoutManagers.OriginalLayoutManager.NAME ="OriginalLayoutManager"; \ No newline at end of file