MediaWiki:Common.js
Jump to navigation
Jump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */ $( function() { var pops = function( elems ) { for (var i=0; i<elems.length; i++) { if ( !(' '+elems[i].className+' ').match( / pops / ) ) continue; var anchs = elems[i].getElementsByTagName('a'); for (var j=0; j<anchs.length; j++) anchs[j].target = '_blank'; } }; var bc = document.getElementById('bodyContent'); var tags = ['span', 'div', 'table', 'td', 'th']; for (var i=0; i<tags.length; i++) pops( bc.getElementsByTagName( tags[i] ) ); } ); function ModifySidebar(action, section, name, link) { try { switch (section) { case "languages": var target = "p-lang"; break; case "toolbox": var target = "p-tb"; break; case "navigation": var target = "p-navigation"; break; default: var target = "p-" + section; break; } if (action == "add") { var node = document.getElementById(target) .getElementsByTagName('div')[0] .getElementsByTagName('ul')[0]; var aNode = document.createElement('a'); var liNode = document.createElement('li'); aNode.appendChild(document.createTextNode(name)); aNode.setAttribute('href', link); liNode.appendChild(aNode); liNode.className='plainlinks'; node.appendChild(liNode); } if (action == "remove") { var list = document.getElementById(target) .getElementsByTagName('div')[0] .getElementsByTagName('ul')[0]; var listelements = list.getElementsByTagName('li'); for (var i = 0; i < listelements.length; i++) { if (listelements[i].getElementsByTagName('a')[0].innerHTML == name || listelements[i].getElementsByTagName('a')[0].href == link) { list.removeChild(listelements[i]); } } } } catch(e) { // lets just ignore what's happened return; } } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * http://www.mediawiki.org/wiki/Manual:Collapsible_tables. * Maintainers: [[en:User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = 'hide'; var expandCaption = 'show'; function collapseTable( tableIndex ) { var Button = document.getElementById( 'collapseButton' + tableIndex ); var Table = document.getElementById( 'collapsibleTable' + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = 'none'; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = collapseCaption; } } function createCollapseButtons() { var tableIndex = 0; var NavigationBoxes = new Object(); $( 'table.collapsible' ).each(function(e){ /* only add button and increment count if there is a header row to work with */ var HeaderRow = e.find( 'tr' ).first(); if ( !HeaderRow ) { return; } var Header = e.find( 'th' ).first(); if ( !Header ) { return; } NavigationBoxes[tableIndex] = e; e.setAttribute( 'id', 'collapsibleTable' + tableIndex ); var Button = document.createElement( 'span' ); var ButtonLink = document.createElement( 'a' ); var ButtonText = document.createTextNode( collapseCaption ); Button.className = 'collapseButton'; // Styles are declared in [[MediaWiki:Common.css]] ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex ); ButtonLink.setAttribute( 'href', "javascript:collapseTable(" + tableIndex + ");" ); Button.setAttribute( 'onClick', "collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( '[' ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( ']' ) ); Header.insertBefore( Button, Header.childNodes[0] ); Header.setAttribute( 'onClick', "collapseTable(" + tableIndex + ");" ); tableIndex++; }); for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass('collapsed' ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass('autocollapse' ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass('innercollapse' ) ) { var element = NavigationBoxes[i]; while ( element = element.parent() ) { if ( element.hasClass('outercollapse' ) ) { collapseTable( i ); break; } } } } } $ ( createCollapseButtons ); function CustomizeModificationsOfSidebar() { ModifySidebar("add", "toolbox", "Upload files", "http://wiki.industrial-craft.net/index.php?title=Special:MultiUpload"); //adds [[Special:CategoryTree]] to toolbox ModifySidebar("add", "tutorials", "First Steps", "http://wiki.industrial-craft.net/index.php?title=Tutorial:First_Steps"); ModifySidebar("add", "tutorials", "Wiring", "http://wiki.industrial-craft.net/index.php?title=Tutorial:Wiring"); ModifySidebar("add", "tutorials", "Nuclear Power", "http://wiki.industrial-craft.net/index.php?title=Tutorial:Nuclear_Power"); //ModifySidebar("add", "tutorials", "Pirate's Guide to Industrial Craft", "http://wiki.industrial-craft.net/index.php?title=Tutorial:Pirate's Guide to Industrial Craft"); ModifySidebar("add", "navigation", "Download", "http://wiki.industrial-craft.net/index.php?title=Download"); ModifySidebar("add", "navigation", "Version History", "http://wiki.industrial-craft.net/index.php?title=Updates"); ModifySidebar("add", "navigation", "Recipes & Resources", "http://wiki.industrial-craft.net/index.php?title=Recipes_and_Resources"); ModifySidebar("add", "navigation", "Forum", "http://forum.industrial-craft.net/"); ModifySidebar("add", "navigation", "Blog", "http://industrial-craft.net/"); ModifySidebar("add", "navigation", "April Fool 2012", "http://wiki.industrial-craft.net/index.php?title=April_Fools_Joke_2012"); //ModifySidebar("add", "navigation", "Mine4Dead", "http://wiki.industrial-craft.net/index.php?title=Mine4Dead:Main_Page"); //ModifySidebar("add", "navigation", "MedievalCraft", "http://wiki.industrial-craft.net/index.php?title=MedievalCraft-Mod:Main_Page"); ModifySidebar("add", "navigation", "AntiGriefer-Community", "http://wiki.industrial-craft.net/index.php?title=AntiGriefer-Community"); ModifySidebar("add", "navigation", "Banners", "http://wiki.industrial-craft.net/index.php?title=Banner"); ModifySidebar("add", "navigation", "Achievements", "http://wiki.industrial-craft.net/index.php?title=Achievements"); //removes [[Special:Upload]] from toolbox ModifySidebar("remove", "toolbox", "Permanent Link", "http://wiki.industrial-craft.net/index.php/Main_Page&oldid=829"); ModifySidebar("remove", "toolbox", "Upload file", "http://wiki.industrial-craft.net/Special:Upload"); } $(CustomizeModificationsOfSidebar); $(document).ready(function(){ $('.animated-grids').each(function() { var $current = $(this).children().first(); $current.addClass('active'); }); setInterval(function() { $('.animated-grids').each(function() { var $current = $(this).children('.active'); var $next = $current.nextAll(':not(.skip):first'); if (!$next.length) { $next = $(this).children(':not(.skip):first'); } $current.removeClass('active'); $next.addClass('active'); }); }, 2000); });