issue #8: clicking links inside nodes doesn't collapse nodes now.

master
Wes 2012-03-16 14:38:28 +00:00
parent c27039a9b3
commit 83fddcac19
1 changed files with 20 additions and 15 deletions

View File

@ -147,7 +147,6 @@
// Method that recursively builds the tree // Method that recursively builds the tree
function buildNode($node, $appendTo, level, opts) { function buildNode($node, $appendTo, level, opts) {
var $table = $("<table cellpadding='0' cellspacing='0' border='0'/>"); var $table = $("<table cellpadding='0' cellspacing='0' border='0'/>");
var $tbody = $("<tbody/>"); var $tbody = $("<tbody/>");
@ -168,7 +167,7 @@
.end() .end()
.html(); .html();
var new_node_id = $node.attr("id") var new_node_id = $node.attr("id");
if (typeof new_node_id !== 'undefined' && new_node_id !== false) { if (typeof new_node_id !== 'undefined' && new_node_id !== false) {
$nodeDiv = $("<div>").addClass("node").attr("id", $node.attr("id")).append($nodeContent); $nodeDiv = $("<div>").addClass("node").attr("id", $node.attr("id")).append($nodeContent);
}else{ }else{
@ -178,20 +177,20 @@
// Expand and contract nodes // Expand and contract nodes
if ($childNodes.length > 0) { if ($childNodes.length > 0) {
$nodeDiv.click(function() { $nodeDiv.click(function() {
var $this = $(this); var $this = $(this);
var $tr = $this.closest("tr"); var $tr = $this.closest("tr");
if($tr.hasClass('contracted')){ if($tr.hasClass('contracted')){
$this.css('cursor','n-resize'); $this.css('cursor','n-resize');
$tr.removeClass('contracted').addClass('expanded'); $tr.removeClass('contracted').addClass('expanded');
$tr.nextAll("tr").css('visibility', ''); $tr.nextAll("tr").css('visibility', '');
}else{ }else{
$this.css('cursor','s-resize'); $this.css('cursor','s-resize');
$tr.removeClass('expanded').addClass('contracted'); $tr.removeClass('expanded').addClass('contracted');
$tr.nextAll("tr").css('visibility', 'hidden'); $tr.nextAll("tr").css('visibility', 'hidden');
} }
}); });
} }
$nodeCell.append($nodeDiv); $nodeCell.append($nodeDiv);
$nodeRow.append($nodeCell); $nodeRow.append($nodeCell);
@ -259,6 +258,12 @@
$table.append($tbody); $table.append($tbody);
$appendTo.append($table); $appendTo.append($table);
/* Prevent trees collapsing if a link inside a node is clicked */
$nodeDiv.children('a').click(function(e){
console.log(e);
e.stopPropagation();
});
}; };
})(jQuery); })(jQuery);