Jump to content

MediaWiki:Common.js

Manipud iti Wikipedia, ti nawaya nga ensiklopedia
Daytoy ket daan a rebision iti daytoy a panid, kas inurnos babaen ni Lam-ang (tungtungan | aramid) idi 22:49, 16 Enero 2018 (Pinabaro manipud iti MediaWiki:Common.js/813453842). Ti agdama nga adres ket permanente a silpo iti daytoy a bersion, ken mabalin nga adu ti pakaigiddiatanna manipud iti agdama a rebision.

Nota: Kalpasan ti panangipablaak, mabalin a naskenmo a labsan ti cahe ti pagbasabasam tapno makita dagiti sinukatam.

  • Firefox / Safari: Tenglen ti Shift bayat a pinduten ti Reload, wenno talmegan ti Ctrl-F5 wenno Ctrl-R (⌘-R iti Mac)
  • Google Chrome: Talmegan ti Ctrl-Shift-R (⌘-Shift-R iti Mac)
  • Internet Explorer /Edge: Tenglen ti Ctrl bayat a pinduten ti Refresh, wenno talmegan ti Ctrl-F5
  • Opera: Mapan iti Menu → Settings (Opera → Preferences iti Mac) ken kalpasanna iti Privacy & security → Clear browsing data → Cached images and files.
/**
*Ti ania man a JavaScript ditoy ket maikarga para kadagiti amin nga agar-aramat iti amin a panagkarga ti panid. 
*/

/* global mw, $ */
/* jshint strict:false, browser:true */

mw.loader.using( ['mediawiki.user', 'mediawiki.util', 'mediawiki.notify'] ).done( function () {
/* Rugi ti mw.loader.nga agus-usar iti panagtawag manen */

/**
 * Panagsimpa iti Umuna a Panid
 *
 * Panangipalpalawag: Agnayon ti silpo para kadagiti silpo iti sabali a pagsasao.
 */
if ( mw.config.get( 'wgPageName' ) === 'Umuna_a_Panid' || mw.config.get( 'wgPageName' ) === 'Tungtungan:Umuna_a_Panid' ) {
	$( function () {
		mw.util.addPortletLink( 'p-lang', '//www.wikipedia.org/',
			'Napno a listaan', 'interwiki-completelist', 'Listaan dagiti amin a Wikipedia' );
	} );
}

/**
 * Ibaw-ing ti Agar-aramat:Nagan/skin.js ken skin.css iti agdama a kudil dagiti panid
 * (malaksid ti 'kudil' a panid ket agpayso nga adda)
 * @taudan: http://www.mediawiki.org/wiki/Snippets/Redirect_skin.js
 * @rebision: 2
 */
if ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgNamespaceNumber' ) === 2 ) {
	var titleParts = mw.config.get( 'wgPageName' ).split( '/' );
	/* Siguraduen nga nga adda idi ti paset sakbay ken kalpasan ti slash
	   ken ti naud-udi ket 'skin.js' wenno 'skin.css' */
	if ( titleParts.length == 2 ) {
		var userSkinPage = titleParts.shift() + '/' + mw.config.get( 'skin' );
		if ( titleParts.slice( -1 ) == 'skin.js' ) {
			window.location.href = mw.util.getUrl( userSkinPage + '.js' );
		} else if ( titleParts.slice( -1 ) == 'skin.css' ) {
			window.location.href = mw.util.getUrl( userSkinPage + '.css' );
		}
	}
}

/**
 * Imapa ti addPortletLink iti mw.util 
 * @nasukatanen: Imbes ket nga usaren ti mw.util.addPortletLink.
 */
mw.log.deprecate( window, 'addPortletLink', mw.util.addPortletLink, 'Imbes ket nga usaren ti mw.util.addPortletLink' );

/**
 * Agala ti URL a parametro manipud iti agdama nga URL
 * @nasukatanen: Agusar ti mw.util.getParamValue nga addaan ti husto a panagtalaw
 */
mw.log.deprecate( window, 'getURLParamValue', mw.util.getParamValue, 'Imbes ket nga usaren ti mw.util.getParamValue' );

/** 
 * Subokanna no ti maysa nga elemento ket adda iti naisangsangayan a klase
 * @nasukatanen: Imbes ket nga usaren ti $(element).hasClass().
 */
mw.log.deprecate( window, 'hasClass', function ( element, className ) {
	return $( element ).hasClass( className );
}, 'Imbes ket nga usaren ti jQuery.hasClass()' );

/**
 * @taudan www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
 * @rebision 6
 */
var extraCSS = mw.util.getParamValue( 'withCSS' ),
	extraJS = mw.util.getParamValue( 'withJS' );

if ( extraCSS ) {
	if ( extraCSS.match( /^MediaWiki:[^&<>=%#]*\.css$/ ) ) {
		mw.loader.load( '/w/index.php?title=' + extraCSS + '&action=raw&ctype=text/css', 'text/css' );
	} else {
		mw.notify( 'Dagiti laeng panid manipud iti nagan ti espasio ti MediaWiki ti maipalubos.', { title: 'Imbalido ti pateg ti withCSS' } );
	}
}

if ( extraJS ) {
	if ( extraJS.match( /^MediaWiki:[^&<>=%#]*\.js$/ ) ) {
		mw.loader.load( '/w/index.php?title=' + extraJS + '&action=raw&ctype=text/javascript' );
	} else {
		mw.notify( 'Dagiti laeng panid manipud iti nagan ti espasio ti MediaWiki ti maipalubos.', { title: 'Imbalido ti pateg ti withJS' } );
	}
}

/**
 * WikiMiniAtlas
 *
 * Panangipalpalawag: Ti WikiMiniAtlas ket maysa a panagipakita a pagpindutan ken pagguyodan a mapa iti sangalubongan.
 *              Daytoy nga eskritu ket pakabaelanna amin a silpo ti nagsasabtan nga agparang iti buton ti panagkita ti  WikiMiniAtlas.
 *              Daytoy a sinuratan ket makita idiay meta ngamin ket us-usaren ti sabsabali a proyekto.
 *              Kitaen ti [[Meta:WikiMiniAtlas]] iti adu pay a pakaammo. 
 */
window.wma_settings = {
    flowTextTooltips: true,
    buttonImage: "/media/wikipedia/commons/thumb/7/74/Internet-web-browser.svg/18px-Internet-web-browser.svg.png"
};
( function () {
	var require_wikiminiatlas = false;
	var coord_filter = /geohack/;
	$( function () {
		$( 'a.external.text' ).each( function( key, link ) {
			if ( link.href && coord_filter.exec( link.href ) ) {
				require_wikiminiatlas = true;
				// break from loop
				return false;
			}
		} );
		if ( $( 'div.kmldata' ).length ) {
			require_wikiminiatlas = true;
		}
		if ( require_wikiminiatlas ) {
			mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
		}
	} );
} )();

/**
 * Dagiti marba a tabla *********************************************************
 * 
 *  Panangipalpalawag: Palubosanna ti agrebba kadagiti tabla, a mangipakita laeng ti paulo. 
 *  Kitaen ti [[Wikipedia:NavFrame]].
 *
 * @bersion 2.0.3 (2014-03-14)
 * @taudan https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js
 * @mannurat [[User:R. Koot]]
 * @mannurat [[User:Krinkle]]
 * @nasukatan manipud idi MediaWiki 1.20: Agus-usar daytoy ti class="mw-collapsible" a nasuportaran iti 
 * bugas ti MediaWiki.
 */

var autoCollapse = 2;
var collapseCaption = 'ilemmeng';
var expandCaption = 'ipakita';
var tableIndex = 0;

function collapseTable( tableIndex ) {
	var Button = document.getElementById( 'collapseButton' + tableIndex );
	var Table = document.getElementById( 'collapsibleTable' + tableIndex );

	if ( !Table || !Button ) {
		return false;
	}

	var Rows = Table.rows;
	var i;
	var $row0 = $(Rows[0]);

	if ( Button.firstChild.data === collapseCaption ) {
		for ( i = 1; i < Rows.length; i++ ) {
			Rows[i].style.display = 'none';
		}
		Button.firstChild.data = expandCaption;
	} else {
		for ( i = 1; i < Rows.length; i++ ) {
			Rows[i].style.display = $row0.css( 'display' );
		}
		Button.firstChild.data = collapseCaption;
	}
}

function createClickHandler( tableIndex ) {
	return function ( e ) {
		e.preventDefault();
		collapseTable( tableIndex );
	};
}

function createCollapseButtons( $content ) {
	var NavigationBoxes = {};
	var $Tables = $content.find( 'table' );
	var i;

	$Tables.each( function( i, table ) {
		if ( $(table).hasClass( 'collapsible' ) ) {

			/* agnayon laeng ti buton ken ti bilbilang no adda paulo nga aray a maobra */
			var HeaderRow = table.getElementsByTagName( 'tr' )[0];
			if ( !HeaderRow ) {
				return;
			}
			var Header = table.getElementsByTagName( 'th' )[0];
			if ( !Header ) {
				return;
			}

			NavigationBoxes[ tableIndex ] = table;
			table.setAttribute( 'id', 'collapsibleTable' + tableIndex );

			var Button     = document.createElement( 'span' );
			var ButtonLink = document.createElement( 'a' );
			var ButtonText = document.createTextNode( collapseCaption );
			// Dagiti estilo ket adda idiay [[MediaWiki:Common.css]]
			Button.className = 'collapseButton';

			ButtonLink.style.color = Header.style.color;
			ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
			ButtonLink.setAttribute( 'href', '#' );
			$( ButtonLink ).on( 'click', createClickHandler( tableIndex ) );
			ButtonLink.appendChild( ButtonText );

			Button.appendChild( document.createTextNode( '[' ) );
			Button.appendChild( ButtonLink );
			Button.appendChild( document.createTextNode( ']' ) );

			Header.insertBefore( Button, Header.firstChild );
			tableIndex++;
		}
	} );

	for ( 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.parentNode)) {
				if ( $( element ).hasClass( 'outercollapse' ) ) {
					collapseTable ( i );
					break;
				}
			}
		}
	}
}

mw.hook( 'wikipage.content' ).add( createCollapseButtons );

/**
 * Aginayon iti suporta iti mw-collapsible para iti autocollapse, innercollapse ken outercollapse
 *
 * Maintainers: TheDJ
 */
function mwCollapsibleSetup( $collapsibleContent ) {
	var $element,
		$toggle,
		autoCollapseThreshold = 2;
	$.each( $collapsibleContent, function (index, element) {
		$element = $( element );
		if ( $collapsibleContent.length > autoCollapseThreshold && $element.hasClass( 'autocollapse' ) ) {
			$element.data( 'mw-collapsible' ).collapse();
		} else if ( $element.hasClass( 'innercollapse' ) ) {
			if ( $element.parents( '.outercollapse' ).length > 0 ) {
				$element.data( 'mw-collapsible' ).collapse();
			}
		}
		$toggle = $element.find( '.mw-collapsible-toggle' );
		if ( $toggle.length ) {
			// Make the toggle inherit text color
			if( $toggle.parent()[0].style.color ) {
				$toggle.find( 'a' ).css( 'color', 'inherit' );
			}
		}
	} );
}

mw.hook( 'wikipage.collapsibleContent' ).add( mwCollapsibleSetup );

/**
 * Dinamiko a Pagdaliasatan a Baras (eksperimental)
 *
 * Panangipalpalawag: Kitaen ti [[Wikipedia:NavFrame]].
 */

/* Ikabil ti balikas iti bukodmo a pagsasao */
var NavigationBarHide = '[' + collapseCaption + ']';
var NavigationBarShow = '[' + expandCaption + ']';
var indexNavigationBar = 0;

/**
 * Ipakita ken ilemmengna dagiti linaon ken ladawan (no adda) iti pagdaliasatan a baras
 * Dagiti parametro:
 * indexNavigationBar:  ti pagsurotan ti pagdaliasatan a baras a mabalin a magunay
 **/
window.toggleNavigationBar = function ( indexNavigationBar, event ) {
	var NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar );
	var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar );
	var NavChild;

	if ( !NavFrame || !NavToggle ) {
		return false;
	}

	/* no maipakita tattan */
	if ( NavToggle.firstChild.data === NavigationBarHide ) {
		for ( NavChild = NavFrame.firstChild; NavChild !== null; NavChild = NavChild.nextSibling ) {
			if ( $( NavChild ).hasClass( 'NavContent' ) || $( NavChild ).hasClass( 'NavPic' ) ) {
				NavChild.style.display = 'none';
			}
		}
	NavToggle.firstChild.data = NavigationBarShow;

	/* no mailemmeng tattan */
	} else if ( NavToggle.firstChild.data === NavigationBarShow ) {
		for ( NavChild = NavFrame.firstChild; NavChild !== null; NavChild = NavChild.nextSibling ) {
			if ( $( NavChild ).hasClass( 'NavContent' ) || $( NavChild ).hasClass( 'NavPic' ) ) {
				NavChild.style.display = 'block';
			}
		}
		NavToggle.firstChild.data = NavigationBarHide;
	}

	event.preventDefault();
};

/* aginayon ti buton ti ipakita/ilemmeng iti pagdaliasatan a baras */
function createNavigationBarToggleButton( $content ) {
	var NavChild;
	/* iterate over all < div >-elements */
	var $divs = $content.find( 'div' );
	$divs.each( function ( i, NavFrame ) {
		/* no makabiruk ti pagdaliasatan a baras */
		if ( $( NavFrame ).hasClass( 'NavFrame' ) ) {

			indexNavigationBar++;
			var NavToggle = document.createElement( 'a' );
			NavToggle.className = 'NavToggle';
			NavToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar );
			NavToggle.setAttribute( 'href', '#' );
			$( NavToggle ).on( 'click', $.proxy( window.toggleNavigationBar, window, indexNavigationBar ) );

			var isCollapsed = $( NavFrame ).hasClass( 'collapsed' );
			/**
			 * Check if any children are already hidden.  This loop is here for backwards compatibility:
			 * the old way of making NavFrames start out collapsed was to manually add style="display:none"
			 * to all the NavPic/NavContent elements.  Since this was bad for accessibility (no way to make
			 * the content visible without JavaScript support), the new recommended way is to add the class
			 * "collapsed" to the NavFrame itself, just like with collapsible tables.
			 */
			for ( NavChild = NavFrame.firstChild; NavChild !== null && !isCollapsed; NavChild = NavChild.nextSibling ) {
				if ( $( NavChild ).hasClass( 'NavPic' ) || $( NavChild ).hasClass( 'NavContent' ) ) {
					if ( NavChild.style.display === 'none' ) {
						isCollapsed = true;
					}
				}
			}
			if ( isCollapsed ) {
				for ( NavChild = NavFrame.firstChild; NavChild !== null; NavChild = NavChild.nextSibling ) {
					if ( $( NavChild ).hasClass( 'NavPic' ) || $( NavChild ).hasClass( 'NavContent' ) ) {
						NavChild.style.display = 'none';
					}
				}
			}
			var NavToggleText = document.createTextNode( isCollapsed ? NavigationBarShow : NavigationBarHide );
			NavToggle.appendChild( NavToggleText );

			/* Biruken ti NavHead ken ikabit ti maikuti a silpo (Must be this complicated because Moz's firstChild handling is borked) */
			for( var j = 0; j < NavFrame.childNodes.length; j++ ) {
				if ( $( NavFrame.childNodes[j] ).hasClass( 'NavHead' ) ) {
					NavToggle.style.color = NavFrame.childNodes[j].style.color;
					NavFrame.childNodes[j].appendChild( NavToggle );
				}
			}
			NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar );
		}
	} );
}

mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton );

/**
 * Salamangka ti pakaammo ti umuna a panagurnos  ****************************************************
 *
 *  Panangipalpalawag: Agikabil kadagiti paammo ti umuna a panagurnos kadagiti panangipalpalawag a panid ken BST a panid.
 */
function addEditIntro( name ) {
	$( '.mw-editsection, #ca-edit' ).find( 'a' ).each( function ( i, el ) {
		el.href = $( this ).attr( 'href' ) + '&editintro=' + name;
	} );
}

if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
	$( function () {
		if ( document.getElementById( 'disambigbox' ) ) {
			addEditIntro( 'Plantilia:Panangilawlawag_pangyuna_ti_panagurnos' );
		}
	} );

	$( function () {
		var cats = mw.config.get('wgCategories');
		if ( !cats ) {
			return;
		}
		if ( $.inArray( 'Sibibiag a tattao', cats ) !== -1 || $.inArray( 'Mabalin a sibibiag a tattao', cats ) !== -1 ) {
			addEditIntro( 'Plantilia:BST_pangyuna_ti_panagurnos' );
		}
	} );
}

/* Dagiti aksion a naisangayan iti panid ti pagurnosan */
if ( mw.config.get( 'wgAction' ) === 'edit' || mw.config.get( 'wgAction' ) === 'submit' ) {
	/**
	 * Fix edit summary prompt for undo
	 *
	 *  Fixes the fact that the undo function combined with the "no edit summary prompter"
	 *  complains about missing editsummary, if leaving the edit summary unchanged.
	 *  Added by [[User:Deskana]], code by [[User:Tra]].
	 *  See also [[phab:T10912]].
	 */
	$(function () {
		if (document.location.search.indexOf('undo=') !== -1 && document.getElementsByName('wpAutoSummary')[0]) {
			document.getElementsByName('wpAutoSummary')[0].value = '1';
		}
	});
}

/**
 * Dagiti resulta manipud iti Wikidata
 * [[:en:MediaWiki:Wdsearch.js]] ken [[:en:MediaWiki:Wdsearch-autodesc.js]]
 */
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ||  ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgCanonicalSpecialPageName' ) === false ) ) {
        mw.loader.load("//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript");
}

/* Gibus ti mw.loader.nga agus-usar ti panagtawag manen */
} );
/* SAAN NGA AGIKABIL KADAGITI KODIGO ITI BABA DAYTOY A LINIA */