diff options
Diffstat (limited to 'c++/src/cpplus_RM/dynsections.js')
-rw-r--r-- | c++/src/cpplus_RM/dynsections.js | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/c++/src/cpplus_RM/dynsections.js b/c++/src/cpplus_RM/dynsections.js new file mode 100644 index 0000000..ed092c7 --- /dev/null +++ b/c++/src/cpplus_RM/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} +function toggleLevel(level) +{ + $('table.directory tr').each(function(){ + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l<level+1) { + i.attr('src','ftv2folderopen.png'); + a.attr('src','ftv2mnode.png'); + $(this).show(); + } else if (l==level+1) { + i.attr('src','ftv2folderclosed.png'); + a.attr('src','ftv2pnode.png'); + $(this).show(); + } else { + $(this).hide(); + } + }); + updateStripes(); +} + +function toggleFolder(id) +{ + //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); + var img = $('tr.inherit_header.'+id+' img'); + var src = $(img).attr('src'); + if (rows.filter(':first').is(':visible')===true) { + rows.css('display','none'); + $(img).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + rows.css('display','table-row'); // using show() causes jump in firefox + $(img).attr('src',src.substring(0,src.length-10)+'open.png'); + } +} + |