]>
Commit | Line | Data |
---|---|---|
c45550e5 AK |
1 | /* |
2 | @licstart The following is the entire license notice for the | |
3 | JavaScript code in this file. | |
4 | ||
5 | Copyright (C) 1997-2017 by Dimitri van Heesch | |
6 | ||
7 | This program is free software; you can redistribute it and/or modify | |
8 | it under the terms of the GNU General Public License as published by | |
9 | the Free Software Foundation; either version 2 of the License, or | |
10 | (at your option) any later version. | |
11 | ||
12 | This program is distributed in the hope that it will be useful, | |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | GNU General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License along | |
18 | with this program; if not, write to the Free Software Foundation, Inc., | |
19 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
20 | ||
21 | @licend The above is the entire license notice | |
22 | for the JavaScript code in this file | |
23 | */ | |
0044e680 AK |
24 | function toggleVisibility(linkObj) |
25 | { | |
26 | var base = $(linkObj).attr('id'); | |
27 | var summary = $('#'+base+'-summary'); | |
28 | var content = $('#'+base+'-content'); | |
29 | var trigger = $('#'+base+'-trigger'); | |
30 | var src=$(trigger).attr('src'); | |
31 | if (content.is(':visible')===true) { | |
32 | content.hide(); | |
33 | summary.show(); | |
34 | $(linkObj).addClass('closed').removeClass('opened'); | |
35 | $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); | |
36 | } else { | |
37 | content.show(); | |
38 | summary.hide(); | |
39 | $(linkObj).removeClass('closed').addClass('opened'); | |
40 | $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); | |
c45550e5 | 41 | } |
0044e680 AK |
42 | return false; |
43 | } | |
44 | ||
45 | function updateStripes() | |
46 | { | |
47 | $('table.directory tr'). | |
48 | removeClass('even').filter(':visible:even').addClass('even'); | |
49 | } | |
c45550e5 | 50 | |
0044e680 AK |
51 | function toggleLevel(level) |
52 | { | |
c45550e5 | 53 | $('table.directory tr').each(function() { |
0044e680 AK |
54 | var l = this.id.split('_').length-1; |
55 | var i = $('#img'+this.id.substring(3)); | |
56 | var a = $('#arr'+this.id.substring(3)); | |
57 | if (l<level+1) { | |
c45550e5 AK |
58 | i.removeClass('iconfopen iconfclosed').addClass('iconfopen'); |
59 | a.html('▼'); | |
0044e680 AK |
60 | $(this).show(); |
61 | } else if (l==level+1) { | |
c45550e5 AK |
62 | i.removeClass('iconfclosed iconfopen').addClass('iconfclosed'); |
63 | a.html('▶'); | |
0044e680 AK |
64 | $(this).show(); |
65 | } else { | |
66 | $(this).hide(); | |
67 | } | |
68 | }); | |
69 | updateStripes(); | |
70 | } | |
71 | ||
72 | function toggleFolder(id) | |
73 | { | |
c45550e5 | 74 | // the clicked row |
0044e680 | 75 | var currentRow = $('#row_'+id); |
0044e680 | 76 | |
c45550e5 | 77 | // all rows after the clicked row |
0044e680 AK |
78 | var rows = currentRow.nextAll("tr"); |
79 | ||
c45550e5 | 80 | var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub |
0044e680 | 81 | |
c45550e5 AK |
82 | // only match elements AFTER this one (can't hide elements before) |
83 | var childRows = rows.filter(function() { return this.id.match(re); }); | |
0044e680 | 84 | |
c45550e5 AK |
85 | // first row is visible we are HIDING |
86 | if (childRows.filter(':first').is(':visible')===true) { | |
87 | // replace down arrow by right arrow for current row | |
88 | var currentRowSpans = currentRow.find("span"); | |
89 | currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed"); | |
90 | currentRowSpans.filter(".arrow").html('▶'); | |
91 | rows.filter("[id^=row_"+id+"]").hide(); // hide all children | |
92 | } else { // we are SHOWING | |
93 | // replace right arrow by down arrow for current row | |
94 | var currentRowSpans = currentRow.find("span"); | |
95 | currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen"); | |
96 | currentRowSpans.filter(".arrow").html('▼'); | |
97 | // replace down arrows by right arrows for child rows | |
98 | var childRowsSpans = childRows.find("span"); | |
99 | childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed"); | |
100 | childRowsSpans.filter(".arrow").html('▶'); | |
0044e680 AK |
101 | childRows.show(); //show all children |
102 | } | |
103 | updateStripes(); | |
104 | } | |
105 | ||
106 | ||
107 | function toggleInherit(id) | |
108 | { | |
109 | var rows = $('tr.inherit.'+id); | |
110 | var img = $('tr.inherit_header.'+id+' img'); | |
111 | var src = $(img).attr('src'); | |
112 | if (rows.filter(':first').is(':visible')===true) { | |
113 | rows.css('display','none'); | |
114 | $(img).attr('src',src.substring(0,src.length-8)+'closed.png'); | |
115 | } else { | |
116 | rows.css('display','table-row'); // using show() causes jump in firefox | |
117 | $(img).attr('src',src.substring(0,src.length-10)+'open.png'); | |
118 | } | |
119 | } | |
c45550e5 | 120 | /* @license-end */ |