annotate doc/html/dynsections.js @ 114:d6d9df2db3e1

Update documentation
author Adam Stark <adamstark.uk@gmail.com>
date Fri, 18 Aug 2023 10:48:26 +0200
parents bf256abf1dd4
children
rev   line source
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('&#9660;');
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('&#9658;');
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('&#9658;');
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('&#9660;');
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('&#9658;');
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 */