diff --git a/jquery.jOrgChart.js b/jquery.jOrgChart.js index daec657..07dba19 100644 --- a/jquery.jOrgChart.js +++ b/jquery.jOrgChart.js @@ -149,19 +149,23 @@ $nodeDiv = $("
").addClass("node").append($nodeContent); // Expand and contract nodes - $nodeDiv.click(function() { - var $this = $(this); - var $tr = $this.closest("tr"); - $tr.nextAll("tr").fadeToggle("fast"); + if ($childNodes.length > 0) { + $nodeDiv.click(function() { + var $this = $(this); + var $tr = $this.closest("tr"); + $tr.nextAll("tr").fadeToggle("fast"); - if($tr.hasClass('contracted')){ - $this.css('cursor','n-resize'); - $tr.addClass('expanded'); - }else{ - $this.css('cursor','s-resize'); - $tr.addClass('contracted'); - } - }); + if($tr.hasClass('contracted')){ + $this.css('cursor','n-resize'); + $tr.removeClass('contracted'); + $tr.addClass('expanded'); + }else{ + $this.css('cursor','s-resize'); + $tr.removeClass('expanded'); + $tr.addClass('contracted'); + } + }); + } $nodeCell.append($nodeDiv); $nodeRow.append($nodeCell); @@ -218,6 +222,9 @@ $.each(classList, function(index,item) { if (item == 'collapsed') { $nodeRow.nextAll('tr').css('display', 'none'); + $nodeRow.removeClass('expanded'); + $nodeRow.addClass('contracted'); + $nodeDiv.css('cursor','s-resize'); } else { $nodeDiv.addClass(item); }