Home | History | Annotate | Download | only in html
      1 function toggleVisibility(linkObj)
      2 {
      3  var base = $(linkObj).attr('id');
      4  var summary = $('#'+base+'-summary');
      5  var content = $('#'+base+'-content');
      6  var trigger = $('#'+base+'-trigger');
      7  var src=$(trigger).attr('src');
      8  if (content.is(':visible')===true) {
      9    content.hide();
     10    summary.show();
     11    $(linkObj).addClass('closed').removeClass('opened');
     12    $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
     13  } else {
     14    content.show();
     15    summary.hide();
     16    $(linkObj).removeClass('closed').addClass('opened');
     17    $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
     18  }
     19  return false;
     20 }
     21 
     22 function updateStripes()
     23 {
     24   $('table.directory tr').
     25        removeClass('even').filter(':visible:even').addClass('even');
     26 }
     27 function toggleLevel(level)
     28 {
     29   $('table.directory tr').each(function(){
     30     var l = this.id.split('_').length-1;
     31     var i = $('#img'+this.id.substring(3));
     32     var a = $('#arr'+this.id.substring(3));
     33     if (l<level+1) {
     34       i.attr('src','ftv2folderopen.png');
     35       a.attr('src','ftv2mnode.png');
     36       $(this).show();
     37     } else if (l==level+1) {
     38       i.attr('src','ftv2folderclosed.png');
     39       a.attr('src','ftv2pnode.png');
     40       $(this).show();
     41     } else {
     42       $(this).hide();
     43     }
     44   });
     45   updateStripes();
     46 }
     47 
     48 function toggleFolder(id)
     49 {
     50   //The clicked row
     51   var currentRow = $('#row_'+id);
     52   var currentRowImages = currentRow.find("img");
     53 
     54   //All rows after the clicked row
     55   var rows = currentRow.nextAll("tr");
     56 
     57   //Only match elements AFTER this one (can't hide elements before)
     58   var childRows = rows.filter(function() {
     59     var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
     60     return this.id.match(re);
     61   });
     62 
     63   //First row is visible we are HIDING
     64   if (childRows.filter(':first').is(':visible')===true) {
     65     currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png');
     66     currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png');
     67     rows.filter("[id^=row_"+id+"]").hide();
     68   } else { //We are SHOWING
     69     //All sub images
     70     var childImages = childRows.find("img");
     71     var childImg = childImages.filter("[id^=img]");
     72     var childArr = childImages.filter("[id^=arr]");
     73 
     74     currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
     75     currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
     76     childImg.attr('src','ftv2folderclosed.png'); //children closed
     77     childArr.attr('src','ftv2pnode.png'); //children closed
     78     childRows.show(); //show all children
     79   }
     80   updateStripes();
     81 }
     82 
     83 
     84 function toggleInherit(id)
     85 {
     86   var rows = $('tr.inherit.'+id);
     87   var img = $('tr.inherit_header.'+id+' img');
     88   var src = $(img).attr('src');
     89   if (rows.filter(':first').is(':visible')===true) {
     90     rows.css('display','none');
     91     $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
     92   } else {
     93     rows.css('display','table-row'); // using show() causes jump in firefox
     94     $(img).attr('src',src.substring(0,src.length-10)+'open.png');
     95   }
     96 }
     97