blob: c8e84aaa6f6e05af6f2f5c70055938319d21ab55 [file] [log] [blame]
Nikhil Raj38b600d2024-02-15 15:02:19 +00001/*
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 */
24function 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');
41 }
42 return false;
43}
44
45function updateStripes()
46{
47 $('table.directory tr').
48 removeClass('even').filter(':visible:even').addClass('even');
49}
50
51function toggleLevel(level)
52{
53 $('table.directory tr').each(function() {
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) {
58 i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
59 a.html('&#9660;');
60 $(this).show();
61 } else if (l==level+1) {
62 i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
63 a.html('&#9658;');
64 $(this).show();
65 } else {
66 $(this).hide();
67 }
68 });
69 updateStripes();
70}
71
72function toggleFolder(id)
73{
74 // the clicked row
75 var currentRow = $('#row_'+id);
76
77 // all rows after the clicked row
78 var rows = currentRow.nextAll("tr");
79
80 var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
81
82 // only match elements AFTER this one (can't hide elements before)
83 var childRows = rows.filter(function() { return this.id.match(re); });
84
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('&#9658;');
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('&#9660;');
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('&#9658;');
101 childRows.show(); //show all children
102 }
103 updateStripes();
104}
105
106
107function 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}
120/* @license-end */
121
122$(document).ready(function() {
123 $('.code,.codeRef').each(function() {
124 $(this).data('powertip',$('#a'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html());
125 $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true });
126 });
127});