<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.extremist.software/index.php?action=history&amp;feed=atom&amp;title=User%3AEmbeddedLinuxGuy%2Fcommon.js</id>
	<title>User:EmbeddedLinuxGuy/common.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.extremist.software/index.php?action=history&amp;feed=atom&amp;title=User%3AEmbeddedLinuxGuy%2Fcommon.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=User:EmbeddedLinuxGuy/common.js&amp;action=history"/>
	<updated>2026-04-03T21:18:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=User:EmbeddedLinuxGuy/common.js&amp;diff=24718&amp;oldid=prev</id>
		<title>EmbeddedLinuxGuy: Created page with &#039;/** Collapsible tables *********************************************************  *  *  Description: Allows tables to be collapsed, showing only the header. See  *               …&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=User:EmbeddedLinuxGuy/common.js&amp;diff=24718&amp;oldid=prev"/>
		<updated>2012-03-17T06:24:14Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;/** Collapsible tables *********************************************************  *  *  Description: Allows tables to be collapsed, showing only the header. See  *               …&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/** Collapsible tables *********************************************************&lt;br /&gt;
 *&lt;br /&gt;
 *  Description: Allows tables to be collapsed, showing only the header. See&lt;br /&gt;
 *               [[Wikipedia:NavFrame]].&lt;br /&gt;
 *  Maintainers: [[User:R. Koot]]&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
var autoCollapse = 2;&lt;br /&gt;
var collapseCaption = &amp;quot;hide&amp;quot;;&lt;br /&gt;
var expandCaption = &amp;quot;show&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
window.collapseTable = function( tableIndex ){&lt;br /&gt;
    var Button = document.getElementById( &amp;quot;collapseButton&amp;quot; + tableIndex );&lt;br /&gt;
    var Table = document.getElementById( &amp;quot;collapsibleTable&amp;quot; + tableIndex );&lt;br /&gt;
 &lt;br /&gt;
    if ( !Table || !Button ) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    var Rows = Table.rows;&lt;br /&gt;
 &lt;br /&gt;
    if ( Button.firstChild.data == collapseCaption ) {&lt;br /&gt;
        for ( var i = 1; i &amp;lt; Rows.length; i++ ) {&lt;br /&gt;
            Rows[i].style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        Button.firstChild.data = expandCaption;&lt;br /&gt;
    } else {&lt;br /&gt;
        for ( var i = 1; i &amp;lt; Rows.length; i++ ) {&lt;br /&gt;
            Rows[i].style.display = Rows[0].style.display;&lt;br /&gt;
        }&lt;br /&gt;
        Button.firstChild.data = collapseCaption;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function createCollapseButtons(){&lt;br /&gt;
    var tableIndex = 0;&lt;br /&gt;
    var NavigationBoxes = new Object();&lt;br /&gt;
    var Tables = document.getElementsByTagName( &amp;quot;table&amp;quot; );&lt;br /&gt;
 &lt;br /&gt;
    for ( var i = 0; i &amp;lt; Tables.length; i++ ) {&lt;br /&gt;
        if ( hasClass( Tables[i], &amp;quot;collapsible&amp;quot; ) ) {&lt;br /&gt;
 &lt;br /&gt;
            /* only add button and increment count if there is a header row to work with */&lt;br /&gt;
            var HeaderRow = Tables[i].getElementsByTagName( &amp;quot;tr&amp;quot; )[0];&lt;br /&gt;
            if (!HeaderRow) continue;&lt;br /&gt;
            var Header = HeaderRow.getElementsByTagName( &amp;quot;th&amp;quot; )[0];&lt;br /&gt;
            if (!Header) continue;&lt;br /&gt;
 &lt;br /&gt;
            NavigationBoxes[ tableIndex ] = Tables[i];&lt;br /&gt;
            Tables[i].setAttribute( &amp;quot;id&amp;quot;, &amp;quot;collapsibleTable&amp;quot; + tableIndex );&lt;br /&gt;
 &lt;br /&gt;
            var Button     = document.createElement( &amp;quot;span&amp;quot; );&lt;br /&gt;
            var ButtonLink = document.createElement( &amp;quot;a&amp;quot; );&lt;br /&gt;
            var ButtonText = document.createTextNode( collapseCaption );&lt;br /&gt;
 &lt;br /&gt;
            Button.className = &amp;quot;collapseButton&amp;quot;;  //Styles are declared in Common.css&lt;br /&gt;
 &lt;br /&gt;
            ButtonLink.style.color = Header.style.color;&lt;br /&gt;
            ButtonLink.setAttribute( &amp;quot;id&amp;quot;, &amp;quot;collapseButton&amp;quot; + tableIndex );&lt;br /&gt;
            ButtonLink.setAttribute( &amp;quot;href&amp;quot;, &amp;quot;#&amp;quot; );&lt;br /&gt;
            addHandler( ButtonLink,  &amp;quot;click&amp;quot;, new Function( &amp;quot;evt&amp;quot;, &amp;quot;collapseTable(&amp;quot; + tableIndex + &amp;quot; ); return killEvt( evt );&amp;quot;) );&lt;br /&gt;
            ButtonLink.appendChild( ButtonText );&lt;br /&gt;
 &lt;br /&gt;
            Button.appendChild( document.createTextNode( &amp;quot;[&amp;quot; ) );&lt;br /&gt;
            Button.appendChild( ButtonLink );&lt;br /&gt;
            Button.appendChild( document.createTextNode( &amp;quot;]&amp;quot; ) );&lt;br /&gt;
 &lt;br /&gt;
            Header.insertBefore( Button, Header.firstChild );&lt;br /&gt;
            tableIndex++;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    for ( var i = 0;  i &amp;lt; tableIndex; i++ ) {&lt;br /&gt;
        if ( hasClass( NavigationBoxes[i], &amp;quot;collapsed&amp;quot; ) || ( tableIndex &amp;gt;= autoCollapse &amp;amp;&amp;amp; hasClass( NavigationBoxes[i], &amp;quot;autocollapse&amp;quot; ) ) ) {&lt;br /&gt;
            collapseTable( i );&lt;br /&gt;
        } &lt;br /&gt;
        else if ( hasClass( NavigationBoxes[i], &amp;quot;innercollapse&amp;quot; ) ) {&lt;br /&gt;
            var element = NavigationBoxes[i];&lt;br /&gt;
            while (element = element.parentNode) {&lt;br /&gt;
                if ( hasClass( element, &amp;quot;outercollapse&amp;quot; ) ) {&lt;br /&gt;
                    collapseTable ( i );&lt;br /&gt;
                    break;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
$( createCollapseButtons );&lt;/div&gt;</summary>
		<author><name>EmbeddedLinuxGuy</name></author>
	</entry>
</feed>