mirror of
https://bitbucket.org/wisemapping/wisemapping-open-source.git
synced 2024-11-22 14:17:57 +01:00
fixing node dragging
This commit is contained in:
parent
8ce317e71f
commit
5a93c1f0d5
@ -36,7 +36,8 @@ mindplot.DragPivot.prototype.getTargetTopic = function()
|
||||
|
||||
mindplot.DragPivot.prototype._buildStraightLine = function()
|
||||
{
|
||||
var line = new web2d.Line();
|
||||
var line = new web2d.CurvedLine();
|
||||
line.setStyle(web2d.CurvedLine.SIMPLE_LINE);
|
||||
line.setStroke(1, 'solid', '#CC0033');
|
||||
line.setOpacity(0.4);
|
||||
line.setVisibility(false);
|
||||
@ -45,7 +46,8 @@ mindplot.DragPivot.prototype._buildStraightLine = function()
|
||||
|
||||
mindplot.DragPivot.prototype._buildCurvedLine = function()
|
||||
{
|
||||
var line = new web2d.PolyLine();
|
||||
var line = new web2d.CurvedLine();
|
||||
line.setStyle(web2d.CurvedLine.SIMPLE_LINE);
|
||||
line.setStroke(1, 'solid', '#CC0033');
|
||||
line.setOpacity(0.4);
|
||||
line.setVisibility(false);
|
||||
|
@ -42,7 +42,7 @@ mindplot.DragTopicPositioner.prototype.positionateDragTopic = function(dragTopic
|
||||
}
|
||||
};
|
||||
|
||||
mindplot.DragTopicPositioner.CENTRAL_TO_MAINTOPIC_MAX_HORIZONTAL_DISTANCE = 300;
|
||||
mindplot.DragTopicPositioner.CENTRAL_TO_MAINTOPIC_MAX_HORIZONTAL_DISTANCE = 400;
|
||||
|
||||
mindplot.DragTopicPositioner.prototype._checkDragTopicConnection = function(dragTopic)
|
||||
{
|
||||
@ -99,6 +99,7 @@ mindplot.DragTopicPositioner.prototype._lookUpForMainTopicToMainTopicConnection
|
||||
var result = null;
|
||||
var clouserDistance = -1;
|
||||
var draggedNode = dragTopic.getDraggedTopic();
|
||||
var distance = null;
|
||||
|
||||
// Check MainTopic->MainTopic connection...
|
||||
for (var i = 0; i < topics.length; i++)
|
||||
@ -109,9 +110,20 @@ mindplot.DragTopicPositioner.prototype._lookUpForMainTopicToMainTopicConnection
|
||||
{
|
||||
var canBeConnected = dragTopic.canBeConnectedTo(targetTopic);
|
||||
if (canBeConnected)
|
||||
{
|
||||
var targetPosition = targetTopic.getPosition();
|
||||
var fix = position.y>targetPosition.y;
|
||||
var gap = 0;
|
||||
if(targetTopic._getChildren().length>0){
|
||||
gap = Math.abs(targetPosition.y - targetTopic._getChildren()[0].getPosition().y)
|
||||
}
|
||||
var yDistance = Math.abs(position.y -fix*gap - targetPosition.y);
|
||||
if(distance==null || yDistance<distance)
|
||||
{
|
||||
result = targetTopic;
|
||||
break;
|
||||
distance = yDistance;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -305,8 +305,12 @@ mindplot.NodeModel.prototype.canBeConnected = function(sourceModel, sourcePositi
|
||||
// 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 <= 5 + targetTopicHeight / 2)
|
||||
if (yDistance <= gap)
|
||||
{
|
||||
// Circular connection ?
|
||||
if (!sourceModel._isChildNode(this))
|
||||
@ -339,7 +343,7 @@ mindplot.NodeModel.prototype.canBeConnected = function(sourceModel, sourcePositi
|
||||
return result;
|
||||
};
|
||||
|
||||
mindplot.NodeModel.MAIN_TOPIC_TO_MAIN_TOPIC_DISTANCE = 60;
|
||||
mindplot.NodeModel.MAIN_TOPIC_TO_MAIN_TOPIC_DISTANCE = 220;
|
||||
|
||||
mindplot.NodeModel.prototype._isChildNode = function(node)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user