$(document).ready(function() { /* Set the appearance of the toggle depending on whether the corresponding subtree is initially shown or hidden. */ $(".logTreeToggle").map(function() { if ($(this).siblings("ul:hidden").length == 0) { $(this).text("-"); } else { $(this).text("+"); } }); /* When a toggle is clicked, show or hide the subtree. */ $(".logTreeToggle").click(function() { if ($(this).siblings("ul:hidden").length != 0) { $(this).siblings("ul").show(); $(this).text("-"); } else { $(this).siblings("ul").hide(); $(this).text("+"); } }); /* Implementation of the expand all link. */ $(".logTreeExpandAll").click(function() { $(".logTreeToggle", $(this).siblings(".toplevel")).map(function() { $(this).siblings("ul").show(); $(this).text("-"); }); }); /* Implementation of the collapse all link. */ $(".logTreeCollapseAll").click(function() { $(".logTreeToggle", $(this).siblings(".toplevel")).map(function() { $(this).siblings("ul").hide(); $(this).text("+"); }); }); });