[유치수] [NOBTS] 1. 공백에서 마우스 드래그하면 노드 사라지는 현상 수정

2. 정보 레이어가 클릭 할 때마다 보이는 현상 수정
3. 클릭 이벤트를 더블클릭으로 변경

git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-web/trunk@1294 84d0f5b1-2673-498c-a247-62c4ff18d310
This commit is contained in:
Chisu Yu
2013-03-05 08:06:14 +00:00
parent fd53ddacf1
commit eb2c366290
2 changed files with 36 additions and 5 deletions
@@ -32,6 +32,7 @@ function drawSpringy(graphdata, targetId, width, height) {
$('#console').val('Node onMouseOver : ' + this.id + '\r' + $('#console').val())
},
onMouseClick : function(e){
// TODO 정보 layer가 중복으로 보이지 않도록 함.
if ($("DIV.nodeinfo" + i).length == 0 && this.data.hosts.length > 0) {
var htOffset = $(targetId).offset();
var box = $('#ServerBox')
@@ -56,6 +57,7 @@ function drawSpringy(graphdata, targetId, width, height) {
$('#console').val('Edge onMouseOver : ' + this.id + '\r' + $('#console').val());
},
onMouseClick : function(e){
// TODO 정보 layer가 중복으로 보이지 않도록 함.
if ($("DIV.linkinfo" + i).length > 0) {
return;
}
@@ -116,6 +116,9 @@ jQuery.fn.hippoServerMap = function(params) {
renderer.startOnce();
});
//
// TODO double click 할 때 정보를 보여주도록 수정함.
//
jQuery(canvas).mousedown(function(e) {
e.preventDefault();
var pos = jQuery(this).offset();
@@ -123,19 +126,45 @@ jQuery.fn.hippoServerMap = function(params) {
selectedEdge = layout.edgeHover({x: e.pageX - pos.left, y: e.pageY - pos.top}, nEdgeHoverWeight);
if(selectedNode.node !== null){
selected = true;
// if(typeof selectedNode.node.data.onMouseClick === 'function'){
// selectedNode.node.data.onMouseClick.call(selectedNode.node, e);
// }
$(this).css('cursor','pointer');
}else if(selectedEdge.edge !== null){
// if(typeof selectedEdge.edge.data.onMouseClick === 'function'){
// selectedEdge.edge.data.onMouseClick.call(selectedEdge.edge, e);
// }
}else{
// TODO 공백에서 드래그 했을 때 그래프가 사라지는 현상 방지.
if (selectedNode.node !== null) {
dragged = true;
htLastPos.pageY = e.pageY;
htLastPos.pageX = e.pageX;
}
}
});
jQuery(canvas).dblclick(function(e) {
e.preventDefault();
var pos = jQuery(this).offset();
selectedNode = layout.selectNode({x: e.pageX - pos.left, y: e.pageY - pos.top});
selectedEdge = layout.edgeHover({x: e.pageX - pos.left, y: e.pageY - pos.top}, nEdgeHoverWeight);
if(selectedNode.node !== null){
// selected = true;
if(typeof selectedNode.node.data.onMouseClick === 'function'){
selectedNode.node.data.onMouseClick.call(selectedNode.node, e);
}
$(this).css('cursor','pointer');
// $(this).css('cursor','pointer');
}else if(selectedEdge.edge !== null){
if(typeof selectedEdge.edge.data.onMouseClick === 'function'){
selectedEdge.edge.data.onMouseClick.call(selectedEdge.edge, e);
}
}else{
dragged = true;
htLastPos.pageY = e.pageY;
htLastPos.pageX = e.pageX;
}
// else{
// dragged = true;
// htLastPos.pageY = e.pageY;
// htLastPos.pageX = e.pageX;
// }
});
var lastSelectedNodeId = null, lastSelectedEdge = {edge : null};