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 |
|
28 function toggleLevel(level) |
|
29 { |
|
30 $('table.directory tr').each(function() { |
|
31 var l = this.id.split('_').length-1; |
|
32 var i = $('#img'+this.id.substring(3)); |
|
33 var a = $('#arr'+this.id.substring(3)); |
|
34 if (l<level+1) { |
|
35 i.removeClass('iconfopen iconfclosed').addClass('iconfopen'); |
|
36 a.html('▼'); |
|
37 $(this).show(); |
|
38 } else if (l==level+1) { |
|
39 i.removeClass('iconfclosed iconfopen').addClass('iconfclosed'); |
|
40 a.html('►'); |
|
41 $(this).show(); |
|
42 } else { |
|
43 $(this).hide(); |
|
44 } |
|
45 }); |
|
46 updateStripes(); |
|
47 } |
|
48 |
|
49 function toggleFolder(id) |
|
50 { |
|
51 // the clicked row |
|
52 var currentRow = $('#row_'+id); |
|
53 |
|
54 // all rows after the clicked row |
|
55 var rows = currentRow.nextAll("tr"); |
|
56 |
|
57 var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub |
|
58 |
|
59 // only match elements AFTER this one (can't hide elements before) |
|
60 var childRows = rows.filter(function() { return this.id.match(re); }); |
|
61 |
|
62 // first row is visible we are HIDING |
|
63 if (childRows.filter(':first').is(':visible')===true) { |
|
64 // replace down arrow by right arrow for current row |
|
65 var currentRowSpans = currentRow.find("span"); |
|
66 currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed"); |
|
67 currentRowSpans.filter(".arrow").html('►'); |
|
68 rows.filter("[id^=row_"+id+"]").hide(); // hide all children |
|
69 } else { // we are SHOWING |
|
70 // replace right arrow by down arrow for current row |
|
71 var currentRowSpans = currentRow.find("span"); |
|
72 currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen"); |
|
73 currentRowSpans.filter(".arrow").html('▼'); |
|
74 // replace down arrows by right arrows for child rows |
|
75 var childRowsSpans = childRows.find("span"); |
|
76 childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed"); |
|
77 childRowsSpans.filter(".arrow").html('►'); |
|
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 |
|