From 0660c7e8c36e471fe0bfbbdfd4cbf78e6e12007c Mon Sep 17 00:00:00 2001 From: Paulo Gustavo Veiga Date: Thu, 8 Mar 2012 00:30:27 -0300 Subject: [PATCH] Fix exception on changing central topic shape. --- mindplot/src/main/javascript/CentralTopic.js | 4 +++ .../src/main/javascript/ConnectionLine.js | 16 +++++---- mindplot/src/main/javascript/Designer.js | 8 ++--- mindplot/src/main/javascript/Topic.js | 36 +++++++++++++------ wise-editor/src/main/webapp/html/editor.html | 2 +- wise-editor/src/main/webapp/js/editor.js | 9 ++--- 6 files changed, 45 insertions(+), 30 deletions(-) diff --git a/mindplot/src/main/javascript/CentralTopic.js b/mindplot/src/main/javascript/CentralTopic.js index 3bd61009..06ba5663 100644 --- a/mindplot/src/main/javascript/CentralTopic.js +++ b/mindplot/src/main/javascript/CentralTopic.js @@ -90,5 +90,9 @@ mindplot.CentralTopic = new Class({ weight:"bold", color:"#ffffff" }; + }, + + getShrinkConnector : function() { + return null; } }); \ No newline at end of file diff --git a/mindplot/src/main/javascript/ConnectionLine.js b/mindplot/src/main/javascript/ConnectionLine.js index e5ab6570..08c38cf1 100644 --- a/mindplot/src/main/javascript/ConnectionLine.js +++ b/mindplot/src/main/javascript/ConnectionLine.js @@ -131,13 +131,15 @@ mindplot.ConnectionLine = new Class({ y = y - offset; var connector = targetTopic.getShrinkConnector(); - if (Math.sign(targetPosition.x) > 0) { - var x = targetTopicSize.width; - connector.setPosition(x, y); - } - else { - var x = -mindplot.Topic.CONNECTOR_WIDTH; - connector.setPosition(x, y); + if ($defined(connector)) { + if (Math.sign(targetPosition.x) > 0) { + var x = targetTopicSize.width; + connector.setPosition(x, y); + } + else { + var x = -mindplot.Topic.CONNECTOR_WIDTH; + connector.setPosition(x, y); + } } }, diff --git a/mindplot/src/main/javascript/Designer.js b/mindplot/src/main/javascript/Designer.js index 5333fa5f..b1bb69f4 100644 --- a/mindplot/src/main/javascript/Designer.js +++ b/mindplot/src/main/javascript/Designer.js @@ -448,7 +448,7 @@ mindplot.Designer = new Class({ $assert(mindmapModel, "mindmapModel can not be null"); this._mindmap = mindmapModel; - try { +// try { // Init layout manager ... var size = {width:25,height:25}; var layoutManager = new mindplot.layout.LayoutManager(mindmapModel.getCentralTopic().getId(), size); @@ -485,9 +485,9 @@ mindplot.Designer = new Class({ mindplot.EventBus.instance.fireEvent(mindplot.EventBus.events.DoLayout); this.fireEvent('loadSuccess'); - } catch(e) { - this.fireEvent('loadError', e); - } +// } catch(e) { +// this.fireEvent('loadError', e); +// } }, getMindmap : function() { diff --git a/mindplot/src/main/javascript/Topic.js b/mindplot/src/main/javascript/Topic.js index a1c37fea..1e6273ca 100644 --- a/mindplot/src/main/javascript/Topic.js +++ b/mindplot/src/main/javascript/Topic.js @@ -93,6 +93,7 @@ mindplot.Topic = new Class({ if ($defined(iconGroup)) { iconGroup.moveToFront(); } + //Move connector to front var connector = this.getShrinkConnector(); if ($defined(connector)) { @@ -489,7 +490,9 @@ mindplot.Topic = new Class({ innerShape.setFill(color); var connector = this.getShrinkConnector(); - connector.setFill(color); + if (connector) { + connector.setFill(color); + } if ($defined(updateModel) && updateModel) { var model = this.getModel(); @@ -515,8 +518,9 @@ mindplot.Topic = new Class({ innerShape.setAttribute('strokeColor', color); var connector = this.getShrinkConnector(); - connector.setAttribute('strokeColor', color); - + if (connector) { + connector.setAttribute('strokeColor', color); + } if ($defined(updateModel) && updateModel) { var model = this.getModel(); @@ -542,7 +546,6 @@ mindplot.Topic = new Class({ var outerShape = this.getOuterShape(); var innerShape = this.getInnerShape(); var textShape = this.getTextShape(); - var shrinkConnector = this.getShrinkConnector(); // Add to the group ... group.appendChild(outerShape); @@ -555,7 +558,8 @@ mindplot.Topic = new Class({ this.getOrBuildIconGroup(); } - if (this.getType() != mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE) { + var shrinkConnector = this.getShrinkConnector(); + if ($defined(shrinkConnector)) { shrinkConnector.addToWorkspace(group); } @@ -615,7 +619,9 @@ mindplot.Topic = new Class({ // Change render base on the state. var shrinkConnector = this.getShrinkConnector(); - shrinkConnector.changeRender(value); + if ($defined(shrinkConnector)) { + shrinkConnector.changeRender(value); + } // Do some fancy animation .... var elements = this._flatten2DElements(this); @@ -874,7 +880,9 @@ mindplot.Topic = new Class({ if (this.getIncomingLines().length > 0) { var connector = this.getShrinkConnector(); - connector.setVisibility(value); + if ($defined(connector)) { + connector.setVisibility(value); + } } var textShape = this.getTextShape(); @@ -885,8 +893,10 @@ mindplot.Topic = new Class({ var elem = this.get2DElement(); elem.setOpacity(opacity); - this.getShrinkConnector().setOpacity(opacity); - + var connector = this.getShrinkConnector(); + if ($defined(connector)) { + connector.setOpacity(opacity); + } var textShape = this.getTextShape(); textShape.setOpacity(opacity); }, @@ -986,7 +996,9 @@ mindplot.Topic = new Class({ // Hide connection line?. if (targetTopic.getChildren().length == 0) { var connector = targetTopic.getShrinkConnector(); - connector.setVisibility(false); + if ($defined(connector)) { + connector.setVisibility(false); + } } } }, @@ -1041,7 +1053,9 @@ mindplot.Topic = new Class({ // Display connection node... var connector = targetTopic.getShrinkConnector(); - connector.setVisibility(true); + if ($defined(connector)) { + connector.setVisibility(true); + } // Redraw line ... outgoingLine.redraw(); diff --git a/wise-editor/src/main/webapp/html/editor.html b/wise-editor/src/main/webapp/html/editor.html index 5ac47a5f..cc764aee 100644 --- a/wise-editor/src/main/webapp/html/editor.html +++ b/wise-editor/src/main/webapp/html/editor.html @@ -22,7 +22,7 @@