allow showcards to disappear when you click on the canvas. also fixed a couple other bugs related to showcards that make code a little more logical

This commit is contained in:
Devin Howard 2013-02-14 22:23:14 -05:00
parent e762be0be3
commit 5e051ebff2
3 changed files with 23 additions and 7 deletions

View file

@ -7,6 +7,7 @@
var MetamapsModel = new Object(); var MetamapsModel = new Object();
MetamapsModel.selectedEdges = new Array(); MetamapsModel.selectedEdges = new Array();
MetamapsModel.showcardInUse = null;
MetamapsModel.lastCanvasClick = 0; MetamapsModel.lastCanvasClick = 0;
MetamapsModel.DOUBLE_CLICK_TOLERANCE = 300; MetamapsModel.DOUBLE_CLICK_TOLERANCE = 300;
MetamapsModel.edgeHoveringOver = false; MetamapsModel.edgeHoveringOver = false;

View file

@ -75,8 +75,8 @@ function graphSettings(type) {
onClick: function (node, eventInfo, e) { onClick: function (node, eventInfo, e) {
if (e.target.id != "infovis-canvas") return false; if (e.target.id != "infovis-canvas") return false;
//hide synapse editing dialog //topic and synapse editing cards
$('#edit_synapse').hide(); hideCards();
//clicking on a node, or clicking on blank part of canvas? //clicking on a node, or clicking on blank part of canvas?
if (node.nodeFrom) { if (node.nodeFrom) {
@ -123,8 +123,8 @@ function graphSettings(type) {
//this is handled mostly differently than in arranged/chaotic //this is handled mostly differently than in arranged/chaotic
if (e.target.id != "infovis-canvas") return false; if (e.target.id != "infovis-canvas") return false;
//hide synapse editing dialog //hide synapse and topic editing dialog
$('#edit_synapse').hide(); hideCards();
//clicking on an edge, a node, or clicking on blank part of canvas? //clicking on an edge, a node, or clicking on blank part of canvas?
if (node.nodeFrom) { if (node.nodeFrom) {
@ -151,6 +151,11 @@ function graphSettings(type) {
return t; return t;
}//graphSettings }//graphSettings
function hideCards() {
$('#edit_synapse').hide();
hideCurrentCard();
}
// defining code to draw edges with arrows pointing in one direction // defining code to draw edges with arrows pointing in one direction
var renderMidArrow = function(from, to, dim, swap, canvas){ var renderMidArrow = function(from, to, dim, swap, canvas){
var ctx = canvas.getCtx(); var ctx = canvas.getCtx();

View file

@ -255,6 +255,13 @@ function generateLittleHTML(node) {
return littleHTML; return littleHTML;
} }
function hideCurrentCard() {
if (MetamapsModel.showcardInUse) {
var node = Mconsole.graph.getNode(MetamapsModel.showcardInUse);
hideCard(node);
}
}
function hideCard(node) { function hideCard(node) {
var card = '.showcard'; var card = '.showcard';
if (node != null) { if (node != null) {
@ -263,13 +270,14 @@ function hideCard(node) {
$(card).fadeOut('fast', function(){ $(card).fadeOut('fast', function(){
node.setData('dim', 25, 'current'); node.setData('dim', 25, 'current');
$('.name').show(); $('.name.topic_' + node.id).show();
Mconsole.plot(); Mconsole.plot();
}); });
MetamapsModel.showcardInUse = null;
} }
function bindCallbacks(showCard, nameContainer, node) { function bindCallbacks(showCard, nameContainer, node) {
// add some events to the label // add some events to the label
$(showCard).find('img.icon').click(function(){ $(showCard).find('img.icon').click(function(){
hideCard(node); hideCard(node);
@ -279,12 +287,14 @@ function bindCallbacks(showCard, nameContainer, node) {
// add some events to the label // add some events to the label
$(nameContainer).find('.label').click(function(e){ $(nameContainer).find('.label').click(function(e){
$('.showcard').css('display','none');
$('.name').css('display','block'); $('.name').css('display','block');
$('.name.topic_' + node.id).css('display','none'); $('.name.topic_' + node.id).css('display','none');
$('.showcard.topic_' + node.id).fadeIn('fast'); $('.showcard.topic_' + node.id).fadeIn('fast');
$('.showcard.topic_' + node.id).find('.scroll').mCustomScrollbar("update"); $('.showcard.topic_' + node.id).find('.scroll').mCustomScrollbar("update");
node.setData('dim', 1, 'current'); node.setData('dim', 1, 'current');
hideCurrentCard();
MetamapsModel.showcardInUse = node.id;
Mconsole.plot(); Mconsole.plot();
}); });