<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://continentchronicles.com/world/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="http://continentchronicles.com/world/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js"/>
	<link rel="alternate" type="text/html" href="http://continentchronicles.com/world/index.php?title=MediaWiki:Common.js&amp;action=history"/>
	<updated>2026-04-03T23:57:32Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://continentchronicles.com/world/index.php?title=MediaWiki:Common.js&amp;diff=29&amp;oldid=prev</id>
		<title>The chronicler: Created page with &quot;/* Any JavaScript here will be loaded for all users on every page load. */  /**  * Keep code in MediaWiki:Common.js to a minimum as it is unconditionally  * loaded for all use...&quot;</title>
		<link rel="alternate" type="text/html" href="http://continentchronicles.com/world/index.php?title=MediaWiki:Common.js&amp;diff=29&amp;oldid=prev"/>
		<updated>2020-12-29T16:52:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Any JavaScript here will be loaded for all users on every page load.: &lt;/span&gt;  /**  * Keep code in MediaWiki:Common.js to a minimum as it is unconditionally  * loaded for all use...&amp;quot;&lt;/span&gt;&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;
 * Keep code in MediaWiki:Common.js to a minimum as it is unconditionally&lt;br /&gt;
 * loaded for all users on every wiki page. If possible create a gadget that is&lt;br /&gt;
 * enabled by default instead of adding it here (since gadgets are fully&lt;br /&gt;
 * optimized ResourceLoader modules with possibility to add dependencies etc.)&lt;br /&gt;
 *&lt;br /&gt;
 * Since Common.js isn't a gadget, there is no place to declare its&lt;br /&gt;
 * dependencies, so we have to lazy load them with mw.loader.using on demand and&lt;br /&gt;
 * then execute the rest in the callback. In most cases these dependencies will&lt;br /&gt;
 * be loaded (or loading) already and the callback will not be delayed. In case a&lt;br /&gt;
 * dependency hasn't arrived yet it'll make sure those are loaded before this.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/* global mw, $ */&lt;br /&gt;
/* jshint strict:false, browser:true */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using( [ 'mediawiki.util' ] ).done( function () {&lt;br /&gt;
	/* Begin of mw.loader.using callback */&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Main Page layout fixes&lt;br /&gt;
	 *&lt;br /&gt;
	 * Description: Adds an additional link to the complete list of languages available.&lt;br /&gt;
	 * Maintainers: [[User:AzaToth]], [[User:R. Koot]], [[User:Alex Smotrov]]&lt;br /&gt;
	 */&lt;br /&gt;
	if ( mw.config.get( 'wgPageName' ) === 'Main_Page' || mw.config.get( 'wgPageName' ) === 'Talk:Main_Page' ) {&lt;br /&gt;
		$( function () {&lt;br /&gt;
			mw.util.addPortletLink( 'p-lang', '//meta.wikimedia.org/wiki/List_of_Wikipedias',&lt;br /&gt;
				'Complete list', 'interwiki-completelist', 'Complete list of Wikipedias' );&lt;br /&gt;
		} );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Map addPortletLink to mw.util&lt;br /&gt;
	 * @deprecated: Use mw.util.addPortletLink instead.&lt;br /&gt;
	 */&lt;br /&gt;
	mw.log.deprecate( window, 'addPortletLink', mw.util.addPortletLink, 'Use mw.util.addPortletLink instead' );&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Extract a URL parameter from the current URL&lt;br /&gt;
	 * @deprecated: Use mw.util.getParamValue with proper escaping&lt;br /&gt;
	 */&lt;br /&gt;
	mw.log.deprecate( window, 'getURLParamValue', mw.util.getParamValue, 'Use mw.util.getParamValue instead' );&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Test if an element has a certain class&lt;br /&gt;
	 * @deprecated:  Use $(element).hasClass() instead.&lt;br /&gt;
	 */&lt;br /&gt;
	mw.log.deprecate( window, 'hasClass', function ( element, className ) {&lt;br /&gt;
		return $( element ).hasClass( className );&lt;br /&gt;
	}, 'Use jQuery.hasClass() instead' );&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @source www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL&lt;br /&gt;
	 * @rev 6&lt;br /&gt;
	 */&lt;br /&gt;
	var extraCSS = mw.util.getParamValue( 'withCSS' ),&lt;br /&gt;
		extraJS = mw.util.getParamValue( 'withJS' );&lt;br /&gt;
&lt;br /&gt;
	if ( extraCSS ) {&lt;br /&gt;
		if ( extraCSS.match( /^MediaWiki:[^&amp;amp;&amp;lt;&amp;gt;=%#]*\.css$/ ) ) {&lt;br /&gt;
			mw.loader.load( '/w/index.php?title=' + extraCSS + '&amp;amp;action=raw&amp;amp;ctype=text/css', 'text/css' );&lt;br /&gt;
		} else {&lt;br /&gt;
			mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withCSS value' } );&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if ( extraJS ) {&lt;br /&gt;
		if ( extraJS.match( /^MediaWiki:[^&amp;amp;&amp;lt;&amp;gt;=%#]*\.js$/ ) ) {&lt;br /&gt;
			mw.loader.load( '/w/index.php?title=' + extraJS + '&amp;amp;action=raw&amp;amp;ctype=text/javascript' );&lt;br /&gt;
		} else {&lt;br /&gt;
			mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' } );&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * WikiMiniAtlas&lt;br /&gt;
	 *&lt;br /&gt;
	 * Description: WikiMiniAtlas is a popup click and drag world map.&lt;br /&gt;
	 *              This script causes all of our coordinate links to display the WikiMiniAtlas popup button.&lt;br /&gt;
	 *              The script itself is located on meta because it is used by many projects.&lt;br /&gt;
	 *              See [[Meta:WikiMiniAtlas]] for more information.&lt;br /&gt;
	 * Note - use of this service is recommended to be replaced with mw:Help:Extension:Kartographer&lt;br /&gt;
	 */&lt;br /&gt;
	$( function () {&lt;br /&gt;
		var requireWikiminiatlas = $( 'a.external.text[href*=&amp;quot;geohack&amp;quot;]' ).length || $( 'div.kmldata' ).length;&lt;br /&gt;
		if ( requireWikiminiatlas ) {&lt;br /&gt;
			mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&amp;amp;action=raw&amp;amp;ctype=text/javascript' );&lt;br /&gt;
		}&lt;br /&gt;
	} );&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Collapsible tables; reimplemented with mw-collapsible&lt;br /&gt;
	 * Styling is also in place to avoid FOUC&lt;br /&gt;
	 *&lt;br /&gt;
	 * Allows tables to be collapsed, showing only the header. See [[Help:Collapsing]].&lt;br /&gt;
	 * @version 3.0.0 (2018-05-20)&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;
	 * @author [[User:TheDJ]]&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. Shimmable since MediaWiki 1.32&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param {jQuery} $content&lt;br /&gt;
	 */&lt;br /&gt;
	function makeCollapsibleMwCollapsible( $content ) {&lt;br /&gt;
		var $tables = $content&lt;br /&gt;
			.find( 'table.collapsible:not(.mw-collapsible)' )&lt;br /&gt;
			.addClass( 'mw-collapsible' );&lt;br /&gt;
&lt;br /&gt;
		$.each( $tables, function ( index, table ) {&lt;br /&gt;
			// mw.log.warn( 'This page is using the deprecated class collapsible. Please replace it with mw-collapsible.');&lt;br /&gt;
			if ( $( table ).hasClass( 'collapsed' ) ) {&lt;br /&gt;
				$( table ).addClass( 'mw-collapsed' );&lt;br /&gt;
				// mw.log.warn( 'This page is using the deprecated class collapsed. Please replace it with mw-collapsed.');&lt;br /&gt;
			}&lt;br /&gt;
		} );&lt;br /&gt;
		if ( $tables.length &amp;gt; 0 ) {&lt;br /&gt;
			mw.loader.using( 'jquery.makeCollapsible' ).then( function () {&lt;br /&gt;
				$tables.makeCollapsible();&lt;br /&gt;
			} );&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	mw.hook( 'wikipage.content' ).add( makeCollapsibleMwCollapsible );&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 ( $element.hasClass( 'collapsible' ) ) {&lt;br /&gt;
				$element.find( 'tr:first &amp;gt; th:first' ).prepend( $element.find( 'tr:first &amp;gt; * &amp;gt; .mw-collapsible-toggle' ) );&lt;br /&gt;
			}&lt;br /&gt;
			if ( $collapsibleContent.length &amp;gt;= autoCollapseThreshold &amp;amp;&amp;amp; $element.hasClass( 'autocollapse' ) ) {&lt;br /&gt;
				$element.data( 'mw-collapsible' ).collapse();&lt;br /&gt;
			} else if ( $element.hasClass( 'innercollapse' ) ) {&lt;br /&gt;
				if ( $element.parents( '.outercollapse' ).length &amp;gt; 0 ) {&lt;br /&gt;
					$element.data( 'mw-collapsible' ).collapse();&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			// because of colored backgrounds, style the link in the text color&lt;br /&gt;
			// to ensure accessible contrast&lt;br /&gt;
			$toggle = $element.find( '.mw-collapsible-toggle' );&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( 'a' ).css( 'color', 'inherit' );&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		} );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	mw.hook( 'wikipage.collapsibleContent' ).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;
	var collapseCaption = 'hide';&lt;br /&gt;
	var expandCaption = 'show';&lt;br /&gt;
&lt;br /&gt;
	// Set up the words in your language&lt;br /&gt;
	var navigationBarHide = '[' + collapseCaption + ']';&lt;br /&gt;
	var navigationBarShow = '[' + expandCaption + ']';&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Shows and hides content and picture (if available) of navigation bars.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param {number} indexNavigationBar The index of navigation bar to be toggled&lt;br /&gt;
	 * @param {jQuery.Event} event Event object&lt;br /&gt;
	 * @return {boolean}&lt;br /&gt;
	 */&lt;br /&gt;
	function toggleNavigationBar( indexNavigationBar, event ) {&lt;br /&gt;
		var navToggle = document.getElementById( 'NavToggle' + indexNavigationBar );&lt;br /&gt;
		var navFrame = document.getElementById( 'NavFrame' + 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( 'NavContent' ) ) {&lt;br /&gt;
					navChild.style.display = 'none';&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( 'NavContent' ) ) {&lt;br /&gt;
					navChild.style.display = 'block';&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;
	/**&lt;br /&gt;
	 * Adds show/hide-button to navigation bars.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param {jQuery} $content&lt;br /&gt;
	 */&lt;br /&gt;
	function createNavigationBarToggleButton( $content ) {&lt;br /&gt;
		var j, navChild, navToggle, navToggleText, isCollapsed,&lt;br /&gt;
			indexNavigationBar = 0;&lt;br /&gt;
		// Iterate over all &amp;lt; div &amp;gt;-elements&lt;br /&gt;
		var $divs = $content.find( 'div.NavFrame:not(.mw-collapsible)' );&lt;br /&gt;
		$divs.each( function ( i, navFrame ) {&lt;br /&gt;
			indexNavigationBar++;&lt;br /&gt;
			navToggle = document.createElement( 'a' );&lt;br /&gt;
			navToggle.className = 'NavToggle';&lt;br /&gt;
			navToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar );&lt;br /&gt;
			navToggle.setAttribute( 'href', '#' );&lt;br /&gt;
			$( navToggle ).on( 'click', $.proxy( toggleNavigationBar, null, indexNavigationBar ) );&lt;br /&gt;
&lt;br /&gt;
			isCollapsed = $( navFrame ).hasClass( 'collapsed' );&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( 'NavPic' ) || $( navChild ).hasClass( 'NavContent' ) ) {&lt;br /&gt;
					if ( navChild.style.display === 'none' ) {&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( 'NavPic' ) || $( navChild ).hasClass( 'NavContent' ) ) {&lt;br /&gt;
						navChild.style.display = 'none';&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			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's firstChild handling is borked)&lt;br /&gt;
			for ( j = 0; j &amp;lt; navFrame.childNodes.length; j++ ) {&lt;br /&gt;
				if ( $( navFrame.childNodes[ j ] ).hasClass( 'NavHead' ) ) {&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( 'id', 'NavFrame' + indexNavigationBar );&lt;br /&gt;
		} );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton );&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Magic editintros ****************************************************&lt;br /&gt;
	 *&lt;br /&gt;
	 * Description: Adds editintros on disambiguation pages and BLP pages.&lt;br /&gt;
	 * Maintainers: [[User:RockMFR]]&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param {string} name&lt;br /&gt;
	 */&lt;br /&gt;
	function addEditIntro( name ) {&lt;br /&gt;
		$( '.mw-editsection, #ca-edit, #ca-ve-edit' ).find( 'a' ).each( function ( i, el ) {&lt;br /&gt;
			el.href = $( this ).attr( 'href' ) + '&amp;amp;editintro=' + name;&lt;br /&gt;
		} );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {&lt;br /&gt;
		$( function () {&lt;br /&gt;
			if ( document.getElementById( 'disambigbox' ) ) {&lt;br /&gt;
				addEditIntro( 'Template:Disambig_editintro' );&lt;br /&gt;
			}&lt;br /&gt;
		} );&lt;br /&gt;
&lt;br /&gt;
		$( function () {&lt;br /&gt;
			var cats = mw.config.get( 'wgCategories' );&lt;br /&gt;
			if ( !cats ) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			if ( $.inArray( 'Living people', cats ) !== -1 || $.inArray( 'Possibly living people', cats ) !== -1 ) {&lt;br /&gt;
				addEditIntro( 'Template:BLP_editintro' );&lt;br /&gt;
			}&lt;br /&gt;
		} );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/* Actions specific to the edit page */&lt;br /&gt;
	if ( mw.config.get( 'wgAction' ) === 'edit' || mw.config.get( 'wgAction' ) === 'submit' ) {&lt;br /&gt;
		/**&lt;br /&gt;
		 * Fix edit summary prompt for undo&lt;br /&gt;
		 *&lt;br /&gt;
		 *  Fixes the fact that the undo function combined with the &amp;quot;no edit summary prompter&amp;quot;&lt;br /&gt;
		 *  complains about missing editsummary, if leaving the edit summary unchanged.&lt;br /&gt;
		 *  Added by [[User:Deskana]], code by [[User:Tra]].&lt;br /&gt;
		 *  See also [[phab:T10912]].&lt;br /&gt;
		 */&lt;br /&gt;
		$( function () {&lt;br /&gt;
			if ( document.location.search.indexOf( 'undo=' ) !== -1 &amp;amp;&amp;amp; document.getElementsByName( 'wpAutoSummary' )[ 0 ] ) {&lt;br /&gt;
				document.getElementsByName( 'wpAutoSummary' )[ 0 ].value = '1';&lt;br /&gt;
			}&lt;br /&gt;
		} );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/* End of mw.loader.using callback */&lt;br /&gt;
} );&lt;br /&gt;
/* DO NOT ADD CODE BELOW THIS LINE */&lt;/div&gt;</summary>
		<author><name>The chronicler</name></author>
	</entry>
</feed>