<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.mcuwiki.ddns.net/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js</id>
	<title>MediaWiki:Common.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.mcuwiki.ddns.net/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js"/>
	<link rel="alternate" type="text/html" href="https://en.mcuwiki.ddns.net/index.php?title=MediaWiki:Common.js&amp;action=history"/>
	<updated>2026-04-04T08:42:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://en.mcuwiki.ddns.net/index.php?title=MediaWiki:Common.js&amp;diff=179&amp;oldid=prev</id>
		<title>LIMAFOX76: Created page with &quot;/* Any JavaScript here will be loaded for all users on every page load. */  /**  * Collapsible tables  *  * Allows tables to be collapsed, showing only the header. See [[Help:...&quot;</title>
		<link rel="alternate" type="text/html" href="https://en.mcuwiki.ddns.net/index.php?title=MediaWiki:Common.js&amp;diff=179&amp;oldid=prev"/>
		<updated>2017-10-12T12:55:06Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;span class=&quot;autocomment&quot;&gt;Any JavaScript here will be loaded for all users on every page load.: &lt;/span&gt;  /**  * Collapsible tables  *  * Allows tables to be collapsed, showing only the header. See [[Help:...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Collapsible tables&lt;br /&gt;
 *&lt;br /&gt;
 * Allows tables to be collapsed, showing only the header. See [[Help:Collapsing]].&lt;br /&gt;
 *&lt;br /&gt;
 * @version 2.0.3 (2014-03-14)&lt;br /&gt;
 * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js&lt;br /&gt;
 * @author [[User:R. Koot]]&lt;br /&gt;
 * @author [[User:Krinkle]]&lt;br /&gt;
 * @deprecated Since MediaWiki 1.20: Use class=&amp;quot;mw-collapsible&amp;quot; instead which&lt;br /&gt;
 * is supported in MediaWiki core.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
var autoCollapse = 2;&lt;br /&gt;
var collapseCaption = &amp;#039;hide&amp;#039;;&lt;br /&gt;
var expandCaption = &amp;#039;show&amp;#039;;&lt;br /&gt;
var tableIndex = 0;&lt;br /&gt;
&lt;br /&gt;
function collapseTable( tableIndex ) {&lt;br /&gt;
    var Button = document.getElementById( &amp;#039;collapseButton&amp;#039; + tableIndex );&lt;br /&gt;
    var Table = document.getElementById( &amp;#039;collapsibleTable&amp;#039; + 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;
    var i;&lt;br /&gt;
    var $row0 = $(Rows[0]);&lt;br /&gt;
&lt;br /&gt;
    if ( Button.firstChild.data === collapseCaption ) {&lt;br /&gt;
        for ( i = 1; i &amp;lt; Rows.length; i++ ) {&lt;br /&gt;
            Rows[i].style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
        }&lt;br /&gt;
        Button.firstChild.data = expandCaption;&lt;br /&gt;
    } else {&lt;br /&gt;
        for ( i = 1; i &amp;lt; Rows.length; i++ ) {&lt;br /&gt;
            Rows[i].style.display = $row0.css( &amp;#039;display&amp;#039; );&lt;br /&gt;
        }&lt;br /&gt;
        Button.firstChild.data = collapseCaption;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function createClickHandler( tableIndex ) {&lt;br /&gt;
    return function ( e ) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        collapseTable( tableIndex );&lt;br /&gt;
    };&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function createCollapseButtons( $content ) {&lt;br /&gt;
    var NavigationBoxes = {};&lt;br /&gt;
    var $Tables = $content.find( &amp;#039;table&amp;#039; );&lt;br /&gt;
    var i;&lt;br /&gt;
&lt;br /&gt;
    $Tables.each( function( i, table ) {&lt;br /&gt;
        if ( $(table).hasClass( &amp;#039;collapsible&amp;#039; ) ) {&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 = table.getElementsByTagName( &amp;#039;tr&amp;#039; )[0];&lt;br /&gt;
            if ( !HeaderRow ) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            var Header = table.getElementsByTagName( &amp;#039;th&amp;#039; )[0];&lt;br /&gt;
            if ( !Header ) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            NavigationBoxes[ tableIndex ] = table;&lt;br /&gt;
            table.setAttribute( &amp;#039;id&amp;#039;, &amp;#039;collapsibleTable&amp;#039; + tableIndex );&lt;br /&gt;
&lt;br /&gt;
            var Button     = document.createElement( &amp;#039;span&amp;#039; );&lt;br /&gt;
            var ButtonLink = document.createElement( &amp;#039;a&amp;#039; );&lt;br /&gt;
            var ButtonText = document.createTextNode( collapseCaption );&lt;br /&gt;
            // Styles are declared in [[MediaWiki:Common.css]]&lt;br /&gt;
            Button.className = &amp;#039;collapseButton&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
            ButtonLink.style.color = Header.style.color;&lt;br /&gt;
            ButtonLink.setAttribute( &amp;#039;id&amp;#039;, &amp;#039;collapseButton&amp;#039; + tableIndex );&lt;br /&gt;
            ButtonLink.setAttribute( &amp;#039;href&amp;#039;, &amp;#039;#&amp;#039; );&lt;br /&gt;
            $( ButtonLink ).on( &amp;#039;click&amp;#039;, createClickHandler( tableIndex ) );&lt;br /&gt;
            ButtonLink.appendChild( ButtonText );&lt;br /&gt;
&lt;br /&gt;
            Button.appendChild( document.createTextNode( &amp;#039;[&amp;#039; ) );&lt;br /&gt;
            Button.appendChild( ButtonLink );&lt;br /&gt;
            Button.appendChild( document.createTextNode( &amp;#039;]&amp;#039; ) );&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 ( i = 0;  i &amp;lt; tableIndex; i++ ) {&lt;br /&gt;
        if ( $( NavigationBoxes[i] ).hasClass( &amp;#039;collapsed&amp;#039; ) ||&lt;br /&gt;
            ( tableIndex &amp;gt;= autoCollapse &amp;amp;&amp;amp; $( NavigationBoxes[i] ).hasClass( &amp;#039;autocollapse&amp;#039; ) )&lt;br /&gt;
        ) {&lt;br /&gt;
            collapseTable( i );&lt;br /&gt;
        }&lt;br /&gt;
        else if ( $( NavigationBoxes[i] ).hasClass ( &amp;#039;innercollapse&amp;#039; ) ) {&lt;br /&gt;
            var element = NavigationBoxes[i];&lt;br /&gt;
            while ((element = element.parentNode)) {&lt;br /&gt;
                if ( $( element ).hasClass( &amp;#039;outercollapse&amp;#039; ) ) {&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;
mw.hook( &amp;#039;wikipage.content&amp;#039; ).add( createCollapseButtons );&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Add support to mw-collapsible for autocollapse, innercollapse and outercollapse&lt;br /&gt;
 *&lt;br /&gt;
 * Maintainers: TheDJ&lt;br /&gt;
 */&lt;br /&gt;
function mwCollapsibleSetup( $collapsibleContent ) {&lt;br /&gt;
	var $element,&lt;br /&gt;
	    $toggle,&lt;br /&gt;
		autoCollapseThreshold = 2;&lt;br /&gt;
	$.each( $collapsibleContent, function (index, element) {&lt;br /&gt;
		$element = $( element );&lt;br /&gt;
		if ( $collapsibleContent.length &amp;gt; autoCollapseThreshold &amp;amp;&amp;amp; $element.hasClass( &amp;#039;autocollapse&amp;#039; ) ) {&lt;br /&gt;
			$element.data( &amp;#039;mw-collapsible&amp;#039; ).collapse();&lt;br /&gt;
		} else if ( $element.hasClass( &amp;#039;innercollapse&amp;#039; ) ) {&lt;br /&gt;
			if ( $element.parents( &amp;#039;.outercollapse&amp;#039; ).length &amp;gt; 0 ) {&lt;br /&gt;
				$element.data( &amp;#039;mw-collapsible&amp;#039; ).collapse();&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		$toggle = $element.find( &amp;#039;.mw-collapsible-toggle&amp;#039; );&lt;br /&gt;
		if ( $toggle.length ) {&lt;br /&gt;
			// Make the toggle inherit text color&lt;br /&gt;
			if( $toggle.parent()[0].style.color ) {&lt;br /&gt;
				$toggle.find( &amp;#039;a&amp;#039; ).css( &amp;#039;color&amp;#039;, &amp;#039;inherit&amp;#039; );&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	} );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mw.hook( &amp;#039;wikipage.collapsibleContent&amp;#039; ).add( mwCollapsibleSetup );&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Dynamic Navigation Bars (experimental)&lt;br /&gt;
 *&lt;br /&gt;
 * Description: See [[Wikipedia:NavFrame]].&lt;br /&gt;
 * Maintainers: UNMAINTAINED&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/* set up the words in your language */&lt;br /&gt;
var NavigationBarHide = &amp;#039;[&amp;#039; + collapseCaption + &amp;#039;]&amp;#039;;&lt;br /&gt;
var NavigationBarShow = &amp;#039;[&amp;#039; + expandCaption + &amp;#039;]&amp;#039;;&lt;br /&gt;
var indexNavigationBar = 0;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Shows and hides content and picture (if available) of navigation bars&lt;br /&gt;
 * Parameters:&lt;br /&gt;
 *     indexNavigationBar: the index of navigation bar to be toggled&lt;br /&gt;
 **/&lt;br /&gt;
window.toggleNavigationBar = function ( indexNavigationBar, event ) {&lt;br /&gt;
    var NavToggle = document.getElementById( &amp;#039;NavToggle&amp;#039; + indexNavigationBar );&lt;br /&gt;
    var NavFrame = document.getElementById( &amp;#039;NavFrame&amp;#039; + indexNavigationBar );&lt;br /&gt;
    var NavChild;&lt;br /&gt;
&lt;br /&gt;
    if ( !NavFrame || !NavToggle ) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /* if shown now */&lt;br /&gt;
    if ( NavToggle.firstChild.data === NavigationBarHide ) {&lt;br /&gt;
        for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {&lt;br /&gt;
            if ( $( NavChild ).hasClass( &amp;#039;NavContent&amp;#039; ) || $( NavChild ).hasClass( &amp;#039;NavPic&amp;#039; ) ) {&lt;br /&gt;
                NavChild.style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    NavToggle.firstChild.data = NavigationBarShow;&lt;br /&gt;
&lt;br /&gt;
    /* if hidden now */&lt;br /&gt;
    } else if ( NavToggle.firstChild.data === NavigationBarShow ) {&lt;br /&gt;
        for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {&lt;br /&gt;
            if ( $( NavChild ).hasClass( &amp;#039;NavContent&amp;#039; ) || $( NavChild ).hasClass( &amp;#039;NavPic&amp;#039; ) ) {&lt;br /&gt;
                NavChild.style.display = &amp;#039;block&amp;#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        NavToggle.firstChild.data = NavigationBarHide;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    event.preventDefault();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/* adds show/hide-button to navigation bars */&lt;br /&gt;
function createNavigationBarToggleButton( $content ) {&lt;br /&gt;
    var NavChild;&lt;br /&gt;
    /* iterate over all &amp;lt; div &amp;gt;-elements */&lt;br /&gt;
    var $divs = $content.find( &amp;#039;div&amp;#039; );&lt;br /&gt;
    $divs.each( function ( i, NavFrame ) {&lt;br /&gt;
        /* if found a navigation bar */&lt;br /&gt;
        if ( $( NavFrame ).hasClass( &amp;#039;NavFrame&amp;#039; ) ) {&lt;br /&gt;
&lt;br /&gt;
            indexNavigationBar++;&lt;br /&gt;
            var NavToggle = document.createElement( &amp;#039;a&amp;#039; );&lt;br /&gt;
            NavToggle.className = &amp;#039;NavToggle&amp;#039;;&lt;br /&gt;
            NavToggle.setAttribute( &amp;#039;id&amp;#039;, &amp;#039;NavToggle&amp;#039; + indexNavigationBar );&lt;br /&gt;
            NavToggle.setAttribute( &amp;#039;href&amp;#039;, &amp;#039;#&amp;#039; );&lt;br /&gt;
            $( NavToggle ).on( &amp;#039;click&amp;#039;, $.proxy( window.toggleNavigationBar, window, indexNavigationBar ) );&lt;br /&gt;
&lt;br /&gt;
            var isCollapsed = $( NavFrame ).hasClass( &amp;#039;collapsed&amp;#039; );&lt;br /&gt;
            /**&lt;br /&gt;
             * Check if any children are already hidden.  This loop is here for backwards compatibility:&lt;br /&gt;
             * the old way of making NavFrames start out collapsed was to manually add style=&amp;quot;display:none&amp;quot;&lt;br /&gt;
             * to all the NavPic/NavContent elements.  Since this was bad for accessibility (no way to make&lt;br /&gt;
             * the content visible without JavaScript support), the new recommended way is to add the class&lt;br /&gt;
             * &amp;quot;collapsed&amp;quot; to the NavFrame itself, just like with collapsible tables.&lt;br /&gt;
             */&lt;br /&gt;
            for ( NavChild = NavFrame.firstChild; NavChild != null &amp;amp;&amp;amp; !isCollapsed; NavChild = NavChild.nextSibling ) {&lt;br /&gt;
                if ( $( NavChild ).hasClass( &amp;#039;NavPic&amp;#039; ) || $( NavChild ).hasClass( &amp;#039;NavContent&amp;#039; ) ) {&lt;br /&gt;
                    if ( NavChild.style.display === &amp;#039;none&amp;#039; ) {&lt;br /&gt;
                        isCollapsed = true;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            if ( isCollapsed ) {&lt;br /&gt;
                for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {&lt;br /&gt;
                    if ( $( NavChild ).hasClass( &amp;#039;NavPic&amp;#039; ) || $( NavChild ).hasClass( &amp;#039;NavContent&amp;#039; ) ) {&lt;br /&gt;
                        NavChild.style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            var NavToggleText = document.createTextNode( isCollapsed ? NavigationBarShow : NavigationBarHide );&lt;br /&gt;
            NavToggle.appendChild( NavToggleText );&lt;br /&gt;
&lt;br /&gt;
            /* Find the NavHead and attach the toggle link (Must be this complicated because Moz&amp;#039;s firstChild handling is borked) */&lt;br /&gt;
            for( var j = 0; j &amp;lt; NavFrame.childNodes.length; j++ ) {&lt;br /&gt;
                if ( $( NavFrame.childNodes[j] ).hasClass( &amp;#039;NavHead&amp;#039; ) ) {&lt;br /&gt;
                    NavToggle.style.color = NavFrame.childNodes[j].style.color;&lt;br /&gt;
                    NavFrame.childNodes[j].appendChild( NavToggle );&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            NavFrame.setAttribute( &amp;#039;id&amp;#039;, &amp;#039;NavFrame&amp;#039; + indexNavigationBar );&lt;br /&gt;
        }&lt;br /&gt;
    } );&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>LIMAFOX76</name></author>
	</entry>
</feed>