adamstark@114
|
1 /*
|
adamstark@114
|
2 @licstart The following is the entire license notice for the JavaScript code in this file.
|
adamstark@114
|
3
|
adamstark@114
|
4 The MIT License (MIT)
|
adamstark@114
|
5
|
adamstark@114
|
6 Copyright (C) 1997-2020 by Dimitri van Heesch
|
adamstark@114
|
7
|
adamstark@114
|
8 Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
adamstark@114
|
9 and associated documentation files (the "Software"), to deal in the Software without restriction,
|
adamstark@114
|
10 including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
adamstark@114
|
11 sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
adamstark@114
|
12 furnished to do so, subject to the following conditions:
|
adamstark@114
|
13
|
adamstark@114
|
14 The above copyright notice and this permission notice shall be included in all copies or
|
adamstark@114
|
15 substantial portions of the Software.
|
adamstark@114
|
16
|
adamstark@114
|
17 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
|
adamstark@114
|
18 BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
adamstark@114
|
19 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
adamstark@114
|
20 DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
adamstark@114
|
21 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
adamstark@114
|
22
|
adamstark@114
|
23 @licend The above is the entire license notice for the JavaScript code in this file
|
adamstark@114
|
24 */
|
adamstark@60
|
25 function toggleVisibility(linkObj)
|
adamstark@60
|
26 {
|
adamstark@60
|
27 var base = $(linkObj).attr('id');
|
adamstark@60
|
28 var summary = $('#'+base+'-summary');
|
adamstark@60
|
29 var content = $('#'+base+'-content');
|
adamstark@60
|
30 var trigger = $('#'+base+'-trigger');
|
adamstark@60
|
31 var src=$(trigger).attr('src');
|
adamstark@60
|
32 if (content.is(':visible')===true) {
|
adamstark@60
|
33 content.hide();
|
adamstark@60
|
34 summary.show();
|
adamstark@60
|
35 $(linkObj).addClass('closed').removeClass('opened');
|
adamstark@60
|
36 $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
|
adamstark@60
|
37 } else {
|
adamstark@60
|
38 content.show();
|
adamstark@60
|
39 summary.hide();
|
adamstark@60
|
40 $(linkObj).removeClass('closed').addClass('opened');
|
adamstark@60
|
41 $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
|
adamstark@114
|
42 }
|
adamstark@60
|
43 return false;
|
adamstark@60
|
44 }
|
adamstark@60
|
45
|
adamstark@60
|
46 function updateStripes()
|
adamstark@60
|
47 {
|
adamstark@60
|
48 $('table.directory tr').
|
adamstark@60
|
49 removeClass('even').filter(':visible:even').addClass('even');
|
adamstark@114
|
50 $('table.directory tr').
|
adamstark@114
|
51 removeClass('odd').filter(':visible:odd').addClass('odd');
|
adamstark@60
|
52 }
|
adamstark@114
|
53
|
adamstark@60
|
54 function toggleLevel(level)
|
adamstark@60
|
55 {
|
adamstark@114
|
56 $('table.directory tr').each(function() {
|
adamstark@60
|
57 var l = this.id.split('_').length-1;
|
adamstark@60
|
58 var i = $('#img'+this.id.substring(3));
|
adamstark@60
|
59 var a = $('#arr'+this.id.substring(3));
|
adamstark@60
|
60 if (l<level+1) {
|
adamstark@114
|
61 i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
|
adamstark@114
|
62 a.html('▼');
|
adamstark@60
|
63 $(this).show();
|
adamstark@60
|
64 } else if (l==level+1) {
|
adamstark@114
|
65 i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
|
adamstark@114
|
66 a.html('►');
|
adamstark@60
|
67 $(this).show();
|
adamstark@60
|
68 } else {
|
adamstark@60
|
69 $(this).hide();
|
adamstark@60
|
70 }
|
adamstark@60
|
71 });
|
adamstark@60
|
72 updateStripes();
|
adamstark@60
|
73 }
|
adamstark@114
|
74
|
adamstark@114
|
75 function toggleFolder(id)
|
adamstark@60
|
76 {
|
adamstark@114
|
77 // the clicked row
|
adamstark@114
|
78 var currentRow = $('#row_'+id);
|
adamstark@114
|
79
|
adamstark@114
|
80 // all rows after the clicked row
|
adamstark@114
|
81 var rows = currentRow.nextAll("tr");
|
adamstark@114
|
82
|
adamstark@114
|
83 var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
|
adamstark@114
|
84
|
adamstark@114
|
85 // only match elements AFTER this one (can't hide elements before)
|
adamstark@114
|
86 var childRows = rows.filter(function() { return this.id.match(re); });
|
adamstark@114
|
87
|
adamstark@114
|
88 // first row is visible we are HIDING
|
adamstark@114
|
89 if (childRows.filter(':first').is(':visible')===true) {
|
adamstark@114
|
90 // replace down arrow by right arrow for current row
|
adamstark@114
|
91 var currentRowSpans = currentRow.find("span");
|
adamstark@114
|
92 currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
adamstark@114
|
93 currentRowSpans.filter(".arrow").html('►');
|
adamstark@114
|
94 rows.filter("[id^=row_"+id+"]").hide(); // hide all children
|
adamstark@114
|
95 } else { // we are SHOWING
|
adamstark@114
|
96 // replace right arrow by down arrow for current row
|
adamstark@114
|
97 var currentRowSpans = currentRow.find("span");
|
adamstark@114
|
98 currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
|
adamstark@114
|
99 currentRowSpans.filter(".arrow").html('▼');
|
adamstark@114
|
100 // replace down arrows by right arrows for child rows
|
adamstark@114
|
101 var childRowsSpans = childRows.find("span");
|
adamstark@114
|
102 childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
adamstark@114
|
103 childRowsSpans.filter(".arrow").html('►');
|
adamstark@114
|
104 childRows.show(); //show all children
|
adamstark@60
|
105 }
|
adamstark@60
|
106 updateStripes();
|
adamstark@60
|
107 }
|
adamstark@60
|
108
|
adamstark@114
|
109
|
adamstark@60
|
110 function toggleInherit(id)
|
adamstark@60
|
111 {
|
adamstark@60
|
112 var rows = $('tr.inherit.'+id);
|
adamstark@60
|
113 var img = $('tr.inherit_header.'+id+' img');
|
adamstark@60
|
114 var src = $(img).attr('src');
|
adamstark@60
|
115 if (rows.filter(':first').is(':visible')===true) {
|
adamstark@60
|
116 rows.css('display','none');
|
adamstark@60
|
117 $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
|
adamstark@60
|
118 } else {
|
adamstark@60
|
119 rows.css('display','table-row'); // using show() causes jump in firefox
|
adamstark@60
|
120 $(img).attr('src',src.substring(0,src.length-10)+'open.png');
|
adamstark@60
|
121 }
|
adamstark@60
|
122 }
|
adamstark@114
|
123 /* @license-end */
|