adding general collaboration framework and Brix
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
mindplot.collaboration = {};
|
||||
mindplot.collaboration.CollaborationManager = new Class({
|
||||
initialize:function(){
|
||||
this.collaborativeModelReady = false;
|
||||
this.collaborativeModelReady = null;
|
||||
this.wiseReady = false;
|
||||
},
|
||||
isCollaborationFrameworkAvailable:function(){
|
||||
return $defined(goog.collab.CollaborativeApp);
|
||||
},
|
||||
setCollaborativeFramework:function(framework){
|
||||
this._collaborativeFramework = framework;
|
||||
this.collaborativeModelReady = true;
|
||||
if(this.wiseReady){
|
||||
buildCollaborativeMindmapDesigner();
|
||||
}
|
||||
},
|
||||
setWiseReady:function(ready){
|
||||
this.wiseReady=ready;
|
||||
},
|
||||
isCollaborativeFrameworkReady:function(){
|
||||
return this.collaborativeModelReady;
|
||||
},
|
||||
buildWiseModel: function(){
|
||||
return this._collaborativeFramework.buildWiseModel();
|
||||
}
|
||||
});
|
||||
|
||||
$wise_collaborationManager = new mindplot.collaboration.CollaborationManager();
|
@@ -0,0 +1,36 @@
|
||||
mindplot.collaboration.frameworks = {};
|
||||
|
||||
mindplot.collaboration.frameworks.AbstractCollaborativeFramework = new Class({
|
||||
initialize: function(model, collaborativeModelFactory){
|
||||
this._collaborativeModelFactory = collaborativeModelFactory;
|
||||
if(!$defined(model)){
|
||||
model = this._buildInitialCollaborativeModel();
|
||||
}
|
||||
this._model = model;
|
||||
},
|
||||
getModel: function(){
|
||||
return this._model;
|
||||
},
|
||||
buildWiseModel: function(){
|
||||
var cmindMap = this.getModel();
|
||||
var mindmap = new mindplot.model.Mindmap();
|
||||
var branches = cmindMap.getBranches();
|
||||
branches.forEach(function(branch){
|
||||
var type = branch.getType();
|
||||
var id = branch.getId();
|
||||
var node = mindmap.createNode(type,id);
|
||||
node.setText(branch.getText());
|
||||
mindmap.addBranch(node);
|
||||
}.bind(this))
|
||||
return mindmap;
|
||||
},
|
||||
_buildInitialCollaborativeModel: function(){
|
||||
var mindmap = this._collaborativeModelFactory.buildMindMap();
|
||||
this.addMindmap(mindmap);
|
||||
var centralTopic = mindmap.createNode(mindplot.model.NodeModel.CENTRAL_TOPIC_TYPE);
|
||||
mindmap.addBranch(centralTopic);
|
||||
return mindmap;
|
||||
},
|
||||
addMindmap:function(model){}
|
||||
|
||||
});
|
@@ -0,0 +1,9 @@
|
||||
mindplot.collaboration.frameworks.AbstractCollaborativeModelFactory = new Class({
|
||||
initialize:function(){},
|
||||
buildMindMap:function(){
|
||||
|
||||
},
|
||||
buildCollaborativeModelFor:function(model){
|
||||
|
||||
}
|
||||
});
|
@@ -0,0 +1,12 @@
|
||||
mindplot.collaboration.frameworks.brix.BrixCollaborativeModelFactory = new Class({
|
||||
Extends:mindplot.collaboration.frameworks.AbstractCollaborativeModelFactory,
|
||||
initialize:function(brixFramework){
|
||||
this._brixFramework = brixFramework;
|
||||
},
|
||||
buildMindMap:function(){
|
||||
return new mindplot.collaboration.frameworks.brix.model.Mindmap(null, this._brixFramework);
|
||||
},
|
||||
buildCollaborativeModelFor:function(model){
|
||||
return new mindplot.collaboration.frameworks.brix.model.Mindmap(model, this._brixFramework);
|
||||
}
|
||||
});
|
@@ -0,0 +1,42 @@
|
||||
|
||||
|
||||
mindplot.collaboration.frameworks.brix.BrixFramework = new Class({
|
||||
Extends: mindplot.collaboration.frameworks.AbstractCollaborativeFramework,
|
||||
|
||||
initialize: function(model, app){
|
||||
this._app = app;
|
||||
var collaborativeModelFactory = new mindplot.collaboration.frameworks.brix.BrixCollaborativeModelFactory(this);
|
||||
var cModel = null;
|
||||
var root = this.getBrixModel().getRoot();
|
||||
if(!root.isEmpty()){
|
||||
cModel = collaborativeModelFactory.buildCollaborativeModelFor(root.get("mindmap"));
|
||||
}
|
||||
this.parent(cModel, collaborativeModelFactory);
|
||||
},
|
||||
addMindmap:function(model){
|
||||
var root = this.getBrixModel().getRoot();
|
||||
root.put("mindmap",model);
|
||||
},
|
||||
getBrixModel:function(){
|
||||
return this._app.getModel();
|
||||
},
|
||||
buildWiseModel: function(){
|
||||
return this.parent();
|
||||
}
|
||||
});
|
||||
instanciated=false;
|
||||
mindplot.collaboration.frameworks.brix.BrixFramework.instanciate=function(){
|
||||
if($defined(isGoogleBrix) && !instanciated){
|
||||
instanciated=true;
|
||||
var app = new goog.collab.CollaborativeApp();
|
||||
app.start();
|
||||
app.addListener('modelLoad', function(model){
|
||||
var framework = new mindplot.collaboration.frameworks.brix.BrixFramework(model, app);
|
||||
$wise_collaborationManager.setCollaborativeFramework(framework);
|
||||
}.bind(this));
|
||||
}
|
||||
};
|
||||
|
||||
mindplot.collaboration.frameworks.brix.BrixFramework.instanciate();
|
||||
|
||||
|
@@ -0,0 +1,107 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
mindplot.collaboration.frameworks.brix.model.Mindmap = new Class({
|
||||
Extends:mindplot.model.Mindmap,
|
||||
initialize:function(brixModel, brixFramework){
|
||||
this.parent();
|
||||
this._brixModel = brixModel;
|
||||
this._brixFramework = brixFramework;
|
||||
if(!$defined(this._brixModel)){
|
||||
this._brixModel = this._createBrixModel();
|
||||
}else{
|
||||
var branches = this._brixModel.get("branches");
|
||||
for(var i=0; i<branches.size(); i++){
|
||||
var node = branches.get(i);
|
||||
var nodeModel = new mindplot.collaboration.frameworks.brix.model.NodeModel(node, this._brixFramework);
|
||||
this.addBranch(nodeModel, false);
|
||||
}
|
||||
}
|
||||
},
|
||||
_createBrixModel:function(){
|
||||
var model = this._brixFramework.getBrixModel().create("Map");
|
||||
var branches = this._brixFramework.getBrixModel().create("List");
|
||||
model.put("branches",branches);
|
||||
this._brixFramework.addMindmap(model);
|
||||
return model;
|
||||
},
|
||||
getBrixModel:function(){
|
||||
return this._brixModel;
|
||||
},
|
||||
setId : function(id) {
|
||||
this._iconType = id;
|
||||
},
|
||||
setVersion : function(version) {
|
||||
this._version = version;
|
||||
},
|
||||
addBranch : function(nodeModel, addToModel) {
|
||||
this.parent(nodeModel);
|
||||
if($defined(addToModel) && addToModel){
|
||||
var branches = this._brixModel.get("branches");
|
||||
branches.add(nodeModel.getBrixModel());
|
||||
}
|
||||
},
|
||||
connect : function(parent, child) {
|
||||
this.parent(parent, child);
|
||||
|
||||
// Remove from the branch ...
|
||||
var branches = this._brixModel.get("branches");
|
||||
var childIndex = null;
|
||||
for(var i = 0; i<branches.size(); i++){
|
||||
if(branches.get(i)==child.getBrixModel()){
|
||||
childIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(childIndex!=null){
|
||||
branches.remove(childIndex);
|
||||
}
|
||||
},
|
||||
|
||||
disconnect : function(child) {
|
||||
var parent = child.getParent();
|
||||
$assert(child, 'Child can not be null.');
|
||||
$assert(parent, 'Child model seems to be already connected');
|
||||
|
||||
parent._removeChild(child);
|
||||
|
||||
var branches = this.getBranches();
|
||||
branches.push(child);
|
||||
|
||||
},
|
||||
_createNode : function(type, id) {
|
||||
$assert(type, 'Node type must be specified.');
|
||||
var result = new mindplot.collaboration.frameworks.brix.model.NodeModel(null, this._brixFramework, type, this, id);
|
||||
return result;
|
||||
},
|
||||
|
||||
createRelationship : function(fromNode, toNode) {
|
||||
$assert(fromNode, 'from node cannot be null');
|
||||
$assert(toNode, 'to node cannot be null');
|
||||
|
||||
return new mindplot.model.RelationshipModel(fromNode, toNode);
|
||||
},
|
||||
|
||||
addRelationship : function(relationship) {
|
||||
this._relationships.push(relationship);
|
||||
},
|
||||
|
||||
removeRelationship : function(relationship) {
|
||||
this._relationships.erase(relationship);
|
||||
}
|
||||
}
|
||||
);
|
@@ -0,0 +1,449 @@
|
||||
/*
|
||||
* Copyright [2011] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
mindplot.collaboration.frameworks.brix={};
|
||||
mindplot.collaboration.frameworks.brix.model = {};
|
||||
mindplot.collaboration.frameworks.brix.model.NodeModel = new Class({
|
||||
Extends: mindplot.model.NodeModel,
|
||||
initialize:function(brixModel, brixFramework, type, mindmap, id) {
|
||||
this._brixModel = brixModel;
|
||||
this._brixFramework = brixFramework;
|
||||
if($defined(this._brixModel)){
|
||||
type = this._brixModel.get("type");
|
||||
id = this._brixModel.get("id");
|
||||
}
|
||||
this.parent(type, mindmap, id);
|
||||
if(!$defined(this._brixModel)){
|
||||
this._brixModel = this._createBrixModel();
|
||||
}
|
||||
},
|
||||
_createBrixModel:function(){
|
||||
var model = this._brixFramework.getBrixModel().create("Map");
|
||||
model.put("type",this._type);
|
||||
model.put("id",this._id);
|
||||
model.put("text",this._type==mindplot.model.NodeModel.CENTRAL_TOPIC_TYPE?"Central Topic":"Main Topic");
|
||||
model.addListener("valueChanged",this._valueChangedListener.bind(this));
|
||||
return model;
|
||||
},
|
||||
getBrixModel:function(){
|
||||
return this._brixModel;
|
||||
},
|
||||
_valueChangedListener:function(event){
|
||||
console.log("property: "+ event.getProperty()+" value: "+event.getNewValue());
|
||||
},
|
||||
clone : function() {
|
||||
var result = new mindplot.model.NodeModel(this._type, this._mindmap);
|
||||
result._order = this._order;
|
||||
result._type = this._type;
|
||||
result._children = this._children.map(function(item, index) {
|
||||
var model = item.clone();
|
||||
model._parent = result;
|
||||
return model;
|
||||
});
|
||||
|
||||
|
||||
result._icons = this._icons;
|
||||
result._links = this._links;
|
||||
result._notes = this._notes;
|
||||
result._size = this._size;
|
||||
result._position = this._position;
|
||||
result._id = this._id;
|
||||
result._mindmap = this._mindmap;
|
||||
result._text = this._text;
|
||||
result._shapeType = this._shapeType;
|
||||
result._fontFamily = this._fontFamily;
|
||||
result._fontSize = this._fontSize;
|
||||
result._fontStyle = this._fontStyle;
|
||||
result._fontWeight = this._fontWeight;
|
||||
result._fontColor = this._fontColor;
|
||||
result._borderColor = this._borderColor;
|
||||
result._backgroundColor = this._backgroundColor;
|
||||
result._areChildrenShrinked = this._areChildrenShrinked;
|
||||
return result;
|
||||
},
|
||||
|
||||
areChildrenShrinked : function() {
|
||||
return this._areChildrenShrinked;
|
||||
},
|
||||
|
||||
setChildrenShrinked : function(value) {
|
||||
this._areChildrenShrinked = value;
|
||||
},
|
||||
|
||||
getId : function() {
|
||||
return this._id;
|
||||
},
|
||||
|
||||
|
||||
setId : function(id) {
|
||||
this._id = id;
|
||||
if (mindplot.model.NodeModel._uuid < id) {
|
||||
mindplot.model.NodeModel._uuid = id;
|
||||
}
|
||||
},
|
||||
|
||||
getType : function() {
|
||||
return this._type;
|
||||
},
|
||||
|
||||
setText : function(text) {
|
||||
this.parent(text);
|
||||
this._brixModel.set("text",text);
|
||||
},
|
||||
|
||||
getText : function() {
|
||||
return this._text;
|
||||
},
|
||||
|
||||
isNodeModel : function() {
|
||||
return true;
|
||||
},
|
||||
|
||||
isConnected : function() {
|
||||
return this._parent != null;
|
||||
},
|
||||
|
||||
createLink : function(url) {
|
||||
$assert(url, 'Link URL must be specified.');
|
||||
return new mindplot.model.LinkModel(url, this);
|
||||
},
|
||||
|
||||
addLink : function(link) {
|
||||
$assert(link && link.isLinkModel(), 'Only LinkModel can be appended to Mindmap object as links');
|
||||
this._links.push(link);
|
||||
},
|
||||
|
||||
_removeLink : function(link) {
|
||||
$assert(link && link.isLinkModel(), 'Only LinkModel can be appended to Mindmap object as links');
|
||||
this._links.erase(link);
|
||||
},
|
||||
|
||||
createNote : function(text) {
|
||||
$assert(text != null, 'note text must be specified.');
|
||||
return new mindplot.model.NoteModel(text, this);
|
||||
},
|
||||
|
||||
addNote : function(note) {
|
||||
$assert(note && note.isNoteModel(), 'Only NoteModel can be appended to Mindmap object as links');
|
||||
this._notes.push(note);
|
||||
},
|
||||
|
||||
_removeNote : function(note) {
|
||||
$assert(note && note.isNoteModel(), 'Only NoteModel can be appended to Mindmap object as links');
|
||||
this._notes.erase(note);
|
||||
},
|
||||
|
||||
createIcon : function(iconType) {
|
||||
$assert(iconType, 'IconType must be specified.');
|
||||
return new mindplot.model.IconModel(iconType, this);
|
||||
},
|
||||
|
||||
addIcon : function(icon) {
|
||||
$assert(icon && icon.isIconModel(), 'Only IconModel can be appended to Mindmap object as icons');
|
||||
this._icons.push(icon);
|
||||
},
|
||||
|
||||
_removeIcon : function(icon) {
|
||||
$assert(icon && icon.isIconModel(), 'Only IconModel can be appended to Mindmap object as icons');
|
||||
this._icons.erase(icon);
|
||||
},
|
||||
|
||||
removeLastIcon : function() {
|
||||
this._icons.pop();
|
||||
},
|
||||
|
||||
_appendChild : function(child) {
|
||||
$assert(child && child.isNodeModel(), 'Only NodeModel can be appended to Mindmap object');
|
||||
this._children.push(child);
|
||||
child._parent = this;
|
||||
},
|
||||
|
||||
_removeChild : function(child) {
|
||||
$assert(child && child.isNodeModel(), 'Only NodeModel can be appended to Mindmap object.');
|
||||
this._children.erase(child);
|
||||
child._parent = null;
|
||||
},
|
||||
|
||||
setPosition : function(x, y) {
|
||||
$assert(x, "x coordinate must be defined");
|
||||
$assert(y, "y coordinate must be defined");
|
||||
|
||||
if (!$defined(this._position)) {
|
||||
this._position = new core.Point();
|
||||
}
|
||||
this._position.x = parseInt(x);
|
||||
this._position.y = parseInt(y);
|
||||
},
|
||||
|
||||
getPosition : function() {
|
||||
return this._position;
|
||||
},
|
||||
|
||||
setFinalPosition : function(x, y) {
|
||||
$assert(x, "x coordinate must be defined");
|
||||
$assert(y, "y coordinate must be defined");
|
||||
|
||||
if (!$defined(this._finalPosition)) {
|
||||
this._finalPosition = new core.Point();
|
||||
}
|
||||
this._finalPosition.x = parseInt(x);
|
||||
this._finalPosition.y = parseInt(y);
|
||||
},
|
||||
|
||||
getFinalPosition : function() {
|
||||
return this._finalPosition;
|
||||
},
|
||||
|
||||
setSize : function(width, height) {
|
||||
this._size.width = width;
|
||||
this._size.height = height;
|
||||
},
|
||||
|
||||
getSize : function() {
|
||||
return {width:this._size.width,height:this._size.height};
|
||||
},
|
||||
|
||||
getChildren : function() {
|
||||
return this._children;
|
||||
},
|
||||
|
||||
getIcons : function() {
|
||||
return this._icons;
|
||||
},
|
||||
|
||||
getLinks : function() {
|
||||
return this._links;
|
||||
},
|
||||
|
||||
getNotes : function() {
|
||||
return this._notes;
|
||||
},
|
||||
|
||||
getParent : function() {
|
||||
return this._parent;
|
||||
},
|
||||
|
||||
getMindmap : function() {
|
||||
return this._mindmap;
|
||||
},
|
||||
|
||||
setParent : function(parent) {
|
||||
$assert(parent != this, 'The same node can not be parent and child if itself.');
|
||||
this._parent = parent;
|
||||
},
|
||||
|
||||
canBeConnected : function(sourceModel, sourcePosition, targetTopicHeight) {
|
||||
$assert(sourceModel != this, 'The same node can not be parent and child if itself.');
|
||||
$assert(sourcePosition, 'childPosition can not be null.');
|
||||
$assert(targetTopicHeight, 'childrenWidth can not be null.');
|
||||
|
||||
// Only can be connected if the node is in the left or rigth.
|
||||
var targetModel = this;
|
||||
var mindmap = targetModel.getMindmap();
|
||||
var targetPosition = targetModel.getPosition();
|
||||
var result = false;
|
||||
|
||||
if (sourceModel.getType() == mindplot.model.NodeModel.MAIN_TOPIC_TYPE) {
|
||||
// Finally, check current node ubication.
|
||||
var targetTopicSize = targetModel.getSize();
|
||||
var yDistance = Math.abs(sourcePosition.y - targetPosition.y);
|
||||
var gap = 35 + targetTopicHeight / 2;
|
||||
if (targetModel.getChildren().length > 0) {
|
||||
gap += Math.abs(targetPosition.y - targetModel.getChildren()[0].getPosition().y);
|
||||
}
|
||||
|
||||
if (yDistance <= gap) {
|
||||
// Circular connection ?
|
||||
if (!sourceModel._isChildNode(this)) {
|
||||
var toleranceDistance = (targetTopicSize.width / 2) + targetTopicHeight;
|
||||
|
||||
var xDistance = sourcePosition.x - targetPosition.x;
|
||||
var isTargetAtRightFromCentral = targetPosition.x >= 0;
|
||||
|
||||
if (isTargetAtRightFromCentral) {
|
||||
if (xDistance >= -targetTopicSize.width / 2 && xDistance <= mindplot.model.NodeModel.MAIN_TOPIC_TO_MAIN_TOPIC_DISTANCE / 2 + (targetTopicSize.width / 2)) {
|
||||
result = true;
|
||||
}
|
||||
|
||||
} else {
|
||||
if (xDistance <= targetTopicSize.width / 2 && Math.abs(xDistance) <= mindplot.model.NodeModel.MAIN_TOPIC_TO_MAIN_TOPIC_DISTANCE / 2 + (targetTopicSize.width / 2)) {
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw "No implemented yet";
|
||||
}
|
||||
return result;
|
||||
},
|
||||
|
||||
_isChildNode : function(node) {
|
||||
var result = false;
|
||||
if (node == this) {
|
||||
result = true;
|
||||
} else {
|
||||
var children = this.getChildren();
|
||||
for (var i = 0; i < children.length; i++) {
|
||||
var child = children[i];
|
||||
result = child._isChildNode(node);
|
||||
if (result) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
},
|
||||
|
||||
connectTo : function(parent) {
|
||||
var mindmap = this.getMindmap();
|
||||
mindmap.connect(parent, this);
|
||||
this._parent = parent;
|
||||
},
|
||||
|
||||
disconnect : function() {
|
||||
var mindmap = this.getMindmap();
|
||||
mindmap.disconnect(this);
|
||||
},
|
||||
|
||||
getOrder : function() {
|
||||
return this._order;
|
||||
},
|
||||
|
||||
getShapeType : function() {
|
||||
return this._shapeType;
|
||||
},
|
||||
|
||||
setShapeType : function(type) {
|
||||
this._shapeType = type;
|
||||
},
|
||||
|
||||
setOrder : function(value) {
|
||||
this._order = value;
|
||||
},
|
||||
|
||||
setFontFamily : function(value) {
|
||||
this._fontFamily = value;
|
||||
},
|
||||
|
||||
getOrder : function() {
|
||||
return this._order;
|
||||
},
|
||||
|
||||
getFontFamily : function() {
|
||||
return this._fontFamily;
|
||||
},
|
||||
|
||||
setFontStyle : function(value) {
|
||||
this._fontStyle = value;
|
||||
},
|
||||
|
||||
getFontStyle : function() {
|
||||
return this._fontStyle;
|
||||
},
|
||||
|
||||
setFontWeight : function(value) {
|
||||
this._fontWeight = value;
|
||||
},
|
||||
|
||||
getFontWeight : function() {
|
||||
return this._fontWeight;
|
||||
},
|
||||
|
||||
setFontColor : function(value) {
|
||||
this._fontColor = value;
|
||||
},
|
||||
|
||||
getFontColor : function() {
|
||||
return this._fontColor;
|
||||
},
|
||||
|
||||
setFontSize : function(value) {
|
||||
this._fontSize = value;
|
||||
},
|
||||
|
||||
getFontSize : function() {
|
||||
return this._fontSize;
|
||||
},
|
||||
|
||||
getBorderColor : function() {
|
||||
return this._borderColor;
|
||||
},
|
||||
|
||||
setBorderColor : function(color) {
|
||||
this._borderColor = color;
|
||||
},
|
||||
|
||||
getBackgroundColor : function() {
|
||||
return this._backgroundColor;
|
||||
},
|
||||
|
||||
setBackgroundColor : function(color) {
|
||||
this._backgroundColor = color;
|
||||
},
|
||||
|
||||
deleteNode : function() {
|
||||
var mindmap = this._mindmap;
|
||||
|
||||
// if it has children nodes, Their must be disconnected.
|
||||
var lenght = this._children;
|
||||
for (var i = 0; i < lenght; i++) {
|
||||
var child = this._children[i];
|
||||
mindmap.disconnect(child);
|
||||
}
|
||||
|
||||
var parent = this._parent;
|
||||
if ($defined(parent)) {
|
||||
// if it is connected, I must remove it from the parent..
|
||||
mindmap.disconnect(this);
|
||||
}
|
||||
|
||||
// It's an isolated node. It must be a hole branch ...
|
||||
var branches = mindmap.getBranches();
|
||||
branches.erase(this);
|
||||
|
||||
},
|
||||
|
||||
inspect : function() {
|
||||
return '(type:' + this.getType() + ' , id: ' + this.getId() + ')';
|
||||
}
|
||||
});
|
||||
|
||||
mindplot.model.NodeModel.CENTRAL_TOPIC_TYPE = 'CentralTopic';
|
||||
mindplot.model.NodeModel.MAIN_TOPIC_TYPE = 'MainTopic';
|
||||
mindplot.model.NodeModel.DRAGGED_TOPIC_TYPE = 'DraggedTopic';
|
||||
|
||||
mindplot.model.NodeModel.SHAPE_TYPE_RECT = 'rectagle';
|
||||
mindplot.model.NodeModel.SHAPE_TYPE_ROUNDED_RECT = 'rounded rectagle';
|
||||
mindplot.model.NodeModel.SHAPE_TYPE_ELIPSE = 'elipse';
|
||||
mindplot.model.NodeModel.SHAPE_TYPE_LINE = 'line';
|
||||
|
||||
mindplot.model.NodeModel.MAIN_TOPIC_TO_MAIN_TOPIC_DISTANCE = 220;
|
||||
|
||||
/**
|
||||
* @todo: This method must be implemented.
|
||||
*/
|
||||
mindplot.model.NodeModel._nextUUID = function() {
|
||||
if (!$defined(this._uuid)) {
|
||||
this._uuid = 0;
|
||||
}
|
||||
|
||||
this._uuid = this._uuid + 1;
|
||||
return this._uuid;
|
||||
}
|
||||
|
Reference in New Issue
Block a user