diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2012-09-30 13:51:29 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2012-09-30 13:51:29 (GMT) |
commit | ceb4115c7b941039411e1793e01239610ff112a2 (patch) | |
tree | d18c06222e0f84d6077b586e5633053a8bc09da8 /src/dynsections.js | |
parent | f6d511e52eb55c5d5b980c4d226f2ea80b396095 (diff) | |
download | Doxygen-ceb4115c7b941039411e1793e01239610ff112a2.zip Doxygen-ceb4115c7b941039411e1793e01239610ff112a2.tar.gz Doxygen-ceb4115c7b941039411e1793e01239610ff112a2.tar.bz2 |
Release-1.8.2-20120930
Diffstat (limited to 'src/dynsections.js')
-rw-r--r-- | src/dynsections.js | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/src/dynsections.js b/src/dynsections.js index 116542f..ed092c7 100644 --- a/src/dynsections.js +++ b/src/dynsections.js @@ -44,24 +44,43 @@ function toggleLevel(level) }); updateStripes(); } -function toggleFolder(id) + +function toggleFolder(id) { - var n = $('[id^=row_'+id+']'); - var i = $('[id^=img_'+id+']'); - var a = $('[id^=arr_'+id+']'); - var c = n.slice(1); - if (c.filter(':first').is(':visible')===true) { - i.attr('src','ftv2folderclosed.png'); - a.attr('src','ftv2pnode.png'); - c.hide(); - } else { - i.attr('src','ftv2folderopen.png'); - a.attr('src','ftv2mnode.png'); - c.show(); + //The clicked row + var currentRow = $('#row_'+id); + var currentRowImages = currentRow.find("img"); + + //All rows after the clicked row + var rows = currentRow.nextAll("tr"); + + //Only match elements AFTER this one (can't hide elements before) + var childRows = rows.filter(function() { + var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub + return this.id.match(re); + }); + + //First row is visible we are HIDING + if (childRows.filter(':first').is(':visible')===true) { + currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png'); + currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png'); + rows.filter("[id^=row_"+id+"]").hide(); + } else { //We are SHOWING + //All sub images + var childImages = childRows.find("img"); + var childImg = childImages.filter("[id^=img]"); + var childArr = childImages.filter("[id^=arr]"); + + currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row + currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row + childImg.attr('src','ftv2folderclosed.png'); //children closed + childArr.attr('src','ftv2pnode.png'); //children closed + childRows.show(); //show all children } updateStripes(); } + function toggleInherit(id) { var rows = $('tr.inherit.'+id); |