MediaWiki:Common.js: diferenças entre revisões

Fonte: Wikinotícias
Conteúdo apagado Conteúdo adicionado
Alchimista (discussão | contribs)
+ alteração, a pedido de User:Helder.wiki em [https://pt.wikipedia.org/w/index.php?diff=prev&oldid=38133530]
Alchimista (discussão | contribs)
Sem resumo de edição
Linha 1: Linha 1:
/* Código Javascript colocado aqui será carregado para todos os utilizadores em cada carregamento de página */
/* Código Javascript colocado aqui será carregado para todos os utilizadores em cada carregamento de página */
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit' , 'submit'] ) !== -1 )
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit' , 'submit'] ) !== -1 ) {
var load_edittools = true;
{
importScript( 'MediaWiki:Edittools.js' );
var load_edittools = true;
importScript( 'MediaWiki:Edittools.js' )
importScript( 'MediaWiki:Extrabo.js' );
importScript( 'MediaWiki:Extrabo.js' )
importScript( 'MediaWiki:Forcepreview.js' );
} else if ( mw.config.get( 'wgPageName' ) == 'Especial:Busca' ) {
importScript( 'MediaWiki:Forcepreview.js' )
importScript( 'MediaWiki:Search.js' );
}
} else if ( navigator.appName == 'Microsoft Internet Explorer' ) {

importScript( 'MediaWiki:IEFixes.js' );
else if ( mw.config.get( 'wgPageName' ) == 'Especial:Busca' )
} else if ( $.inArray( mw.config.get( 'wgRestrictionEdit' ), [ 'autoconfirmed' , 'sysop' ] ) !== -1 ) {
{
importScript( 'MediaWiki:Search.js' )
importScript( 'MediaWiki:Topicon.js' );
}

else if ( navigator.appName == 'Microsoft Internet Explorer' )
{
importScript( 'MediaWiki:IEFixes.js' )
}

else if( $.inArray( mw.config.get( 'wgRestrictionEdit' ), ['autoconfirmed' , 'sysop' ] ) !== -1 )
{
importScript( 'MediaWiki:Topicon.js' )
}
}


Linha 28: Linha 18:
* Correlatos no menu lateral. Código copiado do de:wikt
* Correlatos no menu lateral. Código copiado do de:wikt
*/
*/
mw.util.addCSS( '#interProject, #sisterProjects {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}' )
mw.util.addCSS( '#interProject, #sisterProjects {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}' );
function iProject() {
function iProject() {
if ( document.getElementById( 'interProject' ) ) {
if ( document.getElementById( 'interProject' ) ) {
var iProject = document.getElementById( 'interProject' ).innerHTML;
var iProject = document.getElementById( 'interProject' ).innerHTML;
var interProject = document.createElement( 'div' );
var interProject = document.createElement( 'div' );
interProject.style.marginTop = '0.7em';
interProject.style.marginTop = '0.7em';
interProject.innerHTML = '<h5>Correlatos<\/h5><div class="pBody">'+iProject+'<\/div>';
interProject.innerHTML = '<h5>Correlatos<\/h5><div class="pBody">'+iProject+'<\/div>';
document.getElementById( 'p-tb' ).appendChild( interProject );
document.getElementById( 'p-tb' ).appendChild( interProject );
}
}
}
}
$( iProject );
$( iProject );


Linha 45: Linha 35:
* Adiciona um link direto para carregamentos no Commons
* Adiciona um link direto para carregamentos no Commons
*/
*/
//
/*
//function linkUploadToCommons()
function linkUploadToCommons() {
if ( document.getElementById( 'carrega-para-commons' ) ){
//{
return;
// if ( document.getElementById( 'carrega-para-commons' ) ) return;
}
// var li_carrega = document.getElementById( 't-upload' );
var li_carrega = document.getElementById( 't-upload' );
// if ( !li_carrega ) return;
if ( !li_carrega ) {
// var afegit = li_carrega.nextSibling;
return;
// var ul_eines = li_carrega.parentNode;
}
// var li = document.createElement( 'li' );
var afegit = li_carrega.nextSibling;
// li.id = 'carrega-para-commons';
var ul_eines = li_carrega.parentNode;
// li.innerHTML = '<a href="http://commons.wikimedia.org/wiki/Commons:Upload/pt">Carregar no Commons</a>';
var li = document.createElement( 'li' );
// if ( afegit ) ul_eines.insertBefore( li, afegit );
li.id = 'carrega-para-commons';
// else ul_eines.appendChild( li );
li.innerHTML = '<a href="//commons.wikimedia.org/wiki/Commons:Upload/pt">Carregar no Commons</a>';
//}
if ( afegit ) {
//
ul_eines.insertBefore( li, afegit );
//$( linkUploadToCommons );
} else {
ul_eines.appendChild( li );
}
}

$( linkUploadToCommons );
*/


// ============================================================
// ============================================================
Linha 69: Linha 66:


if ( !window.aOnloadFunctions ) {
if ( !window.aOnloadFunctions ) {
var aOnloadFunctions = [];
var aOnloadFunctions = [];
}
}


window.onload = function() {
window.onload = function() {
if ( window.aOnloadFunctions ) {
if ( window.aOnloadFunctions ) {
for ( var _i=0; _i<aOnloadFunctions.length; _i++ ) {
for ( var _i=0; _i<aOnloadFunctions.length; _i++ ) {
aOnloadFunctions[_i]();
aOnloadFunctions[_i]();
}
}
}
}
}
}


Linha 83: Linha 80:
// ============================================================
// ============================================================


function addLoadEvent( func )
function addLoadEvent( func ) {
if ( window.addEventListener ) {
{
window.addEventListener( 'load', func, false );
if ( window.addEventListener )
window.addEventListener( 'load', func, false );
} else if ( window.attachEvent ) {
else if ( window.attachEvent )
window.attachEvent( 'onload', func );
}
window.attachEvent( 'onload', func );
}
}


Linha 111: Linha 108:
// shows and hides content and picture (if available) of navigation bars
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
// indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar( indexNavigationBar )
function toggleNavigationBar( indexNavigationBar ) {
var NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar );
{
var NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar );
var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar );
var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar );


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


// if shown now
// if shown now
if ( NavToggle.firstChild.data == NavigationBarHide ) {
if ( NavToggle.firstChild.data == NavigationBarHide ) {
for (
for (
var NavChild = NavFrame.firstChild;
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild != null;
NavChild = NavChild.nextSibling
NavChild = NavChild.nextSibling
) {
) {
if ( NavChild.className == 'NavPic' ) {
if ( NavChild.className == 'NavPic' ) {
NavChild.style.display = 'none';
NavChild.style.display = 'none';
}
}
if ( NavChild.className == 'NavContent' ) {
if ( NavChild.className == 'NavContent' ) {
NavChild.style.display = 'none';
NavChild.style.display = 'none';
}
}
}
}
NavToggle.firstChild.data = NavigationBarShow;
NavToggle.firstChild.data = NavigationBarShow;


// if hidden now
// if hidden now
} else if ( NavToggle.firstChild.data == NavigationBarShow ) {
} else if ( NavToggle.firstChild.data == NavigationBarShow ) {
for (
for (
var NavChild = NavFrame.firstChild;
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild != null;
NavChild = NavChild.nextSibling
NavChild = NavChild.nextSibling
) {
) {
if ( NavChild.className == 'NavPic' ) {
if ( NavChild.className == 'NavPic' ) {
NavChild.style.display = 'block';
NavChild.style.display = 'block';
}
}
if ( NavChild.className == 'NavContent' ) {
if ( NavChild.className == 'NavContent' ) {
NavChild.style.display = 'block';
NavChild.style.display = 'block';
}
}
}
}
NavToggle.firstChild.data = NavigationBarHide;
NavToggle.firstChild.data = NavigationBarHide;
}
}
}
}


// adds show/hide-button to navigation bars
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
function createNavigationBarToggleButton() {
var indexNavigationBar = 0;
{
// iterate over all < div >-elements
var indexNavigationBar = 0;
for(
// iterate over all < div >-elements
var i=0;
for(
NavFrame = document.getElementsByTagName( 'div' )[i];
var i=0;
i++
NavFrame = document.getElementsByTagName( 'div' )[i];
) {
i++
// if found a navigation bar
) {
if ( NavFrame.className == 'NavFrame' ) {
// if found a navigation bar
if ( NavFrame.className == 'NavFrame' ) {


indexNavigationBar++;
indexNavigationBar++;
var NavToggle = document.createElement( 'a' );
var NavToggle = document.createElement( 'a' );
NavToggle.className = 'NavToggle';
NavToggle.className = 'NavToggle';
NavToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar );
NavToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar );
NavToggle.setAttribute( 'href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');' );
NavToggle.setAttribute( 'href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');' );


var NavToggleText = document.createTextNode( NavigationBarHide );
var NavToggleText = document.createTextNode( NavigationBarHide );
NavToggle.appendChild( NavToggleText );
NavToggle.appendChild( NavToggleText );
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(
for(
var j=0;
var j=0;
j < NavFrame.childNodes.length;
j < NavFrame.childNodes.length;
j++
j++
) {
) {
if ( NavFrame.childNodes[j].className == 'NavHead' ) {
if ( NavFrame.childNodes[j].className == 'NavHead' ) {
NavFrame.childNodes[j].appendChild( NavToggle );
NavFrame.childNodes[j].appendChild( NavToggle );
}
}
}
}
NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar );
NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar );
}
}
}
}
// if more Navigation Bars found than Default: hide all
// if more Navigation Bars found than Default: hide all
if ( NavigationBarShowDefault < indexNavigationBar ) {
if ( NavigationBarShowDefault < indexNavigationBar ) {
for(
for(
var i=1;
var i=1;
i<=indexNavigationBar;
i<=indexNavigationBar;
i++
i++
) {
) {
toggleNavigationBar( i );
toggleNavigationBar( i );
}
}
}
}


}
}
Linha 212: Linha 207:


if ( mw.config.get( 'wgPageName' ) == 'Portal:Futebol' ) {
if ( mw.config.get( 'wgPageName' ) == 'Portal:Futebol' ) {
NavigationBarShowDefault = 50;
NavigationBarShowDefault = 50;
}
}


Linha 224: Linha 219:


function TransformeEmPaginaDeDiscussao() {
function TransformeEmPaginaDeDiscussao() {
if( document.getElementById( 'PaginaDeDiscussao' ) )
if( document.getElementById( 'PaginaDeDiscussao' ) ) {
document.body.className = 'ns-talk';
document.body.className = 'ns-talk';
}
}
}
$( TransformeEmPaginaDeDiscussao );
$( TransformeEmPaginaDeDiscussao );
Linha 239: Linha 235:
*/
*/


rewritePageH1 = function() {
rewritePageH1 = function() {
try {
try {
var realTitleBanner = document.getElementById( 'RealTitleBanner' );
var realTitleBanner = document.getElementById( 'RealTitleBanner' );
if ( realTitleBanner ) {
if ( realTitleBanner ) {
if ( !document.getElementById( 'DisableRealTitle' ) ) {
if ( !document.getElementById( 'DisableRealTitle' ) ) {
var realTitle = document.getElementById( 'RealTitle' );
var realTitle = document.getElementById( 'RealTitle' );
var h1 = document.getElementsByTagName( 'h1' )[0];
var h1 = document.getElementsByTagName( 'h1' )[0];
if ( realTitle && h1 ) {
if ( realTitle && h1 ) {
h1.innerHTML = realTitle.innerHTML;
h1.innerHTML = realTitle.innerHTML;
realTitleBanner.style.display = 'none';
realTitleBanner.style.display = 'none';
}
}
}
}
}
}
}
}
catch ( e ) {
catch ( e ) {
/* Algo deu errado. */
/* Algo deu errado. */
}
}
}
}
$( rewritePageH1 );
$( rewritePageH1 );

Revisão das 23h45min de 11 de fevereiro de 2014

/* Código Javascript colocado aqui será carregado para todos os utilizadores em cada carregamento de página */
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit' , 'submit'] ) !== -1 ) {
	var load_edittools = true;
	importScript( 'MediaWiki:Edittools.js' );
	importScript( 'MediaWiki:Extrabo.js' );
	importScript( 'MediaWiki:Forcepreview.js' );
} else if ( mw.config.get( 'wgPageName' ) == 'Especial:Busca' ) {
	importScript( 'MediaWiki:Search.js' );
} else if ( navigator.appName == 'Microsoft Internet Explorer' ) {
	importScript( 'MediaWiki:IEFixes.js' );
} else if ( $.inArray( mw.config.get( 'wgRestrictionEdit' ), [ 'autoconfirmed' , 'sysop' ] ) !== -1 ) {
	importScript( 'MediaWiki:Topicon.js' );
}

/**
 * Correlatos
 *
 * Correlatos no menu lateral. Código copiado do de:wikt
 */
mw.util.addCSS( '#interProject, #sisterProjects {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}' );
function iProject() {
	if ( document.getElementById( 'interProject' ) ) {
		var iProject = document.getElementById( 'interProject' ).innerHTML;
		var interProject = document.createElement( 'div' );
		interProject.style.marginTop = '0.7em';
		interProject.innerHTML = '<h5>Correlatos<\/h5><div class="pBody">'+iProject+'<\/div>';
		document.getElementById( 'p-tb' ).appendChild( interProject );
	}
}
$( iProject );

/**
 * Commons
 *
 * Adiciona um link direto para carregamentos no Commons
 */
/*
function linkUploadToCommons() {
	if ( document.getElementById( 'carrega-para-commons' ) ){
		return;
	}
	var li_carrega = document.getElementById( 't-upload' );
	if ( !li_carrega ) {
		return;
	}
	var afegit = li_carrega.nextSibling;
	var ul_eines = li_carrega.parentNode;
	var li = document.createElement( 'li' );
	li.id = 'carrega-para-commons';
	li.innerHTML = '<a href="//commons.wikimedia.org/wiki/Commons:Upload/pt">Carregar no Commons</a>';
	if ( afegit ) {
		ul_eines.insertBefore( li, afegit );
	} else {
		ul_eines.appendChild( li );
	}
}

$( linkUploadToCommons );
*/

// ============================================================
// BEGIN Enable multiple onload functions

// setup onload functions this way:
// aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets!

if ( !window.aOnloadFunctions ) {
	var aOnloadFunctions = [];
}

window.onload = function() {
	if ( window.aOnloadFunctions ) {
		for ( var _i=0; _i<aOnloadFunctions.length; _i++ ) {
			aOnloadFunctions[_i]();
		}
	}
}

// END Enable multiple onload functions
// ============================================================

function addLoadEvent( func ) {
	if ( window.addEventListener ) {
		window.addEventListener( 'load', func, false );
	} else if ( window.attachEvent ) {
		window.attachEvent( 'onload', func );
	}
}

/* Barras de navegação */

/**
 * Barras de navegação dinâmica
 *
 * Origem: [[:it:MediaWiki:Common.js]]
 */

// set up the words in your language
var NavigationBarHide = ' [ocultar]';
var NavigationBarShow = ' [exibir]';

// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 0;

// shows and hides content and picture (if available) of navigation bars
// Parameters:
//	 indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar( indexNavigationBar ) {
	var NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar );
	var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar );

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

	// if shown now
	if ( NavToggle.firstChild.data == NavigationBarHide ) {
		for (
			var NavChild = NavFrame.firstChild;
		NavChild != null;
		NavChild = NavChild.nextSibling
		) {
			if ( NavChild.className == 'NavPic' ) {
				NavChild.style.display = 'none';
			}
			if ( NavChild.className == 'NavContent' ) {
				NavChild.style.display = 'none';
			}
		}
		NavToggle.firstChild.data = NavigationBarShow;

		// if hidden now
	} else if ( NavToggle.firstChild.data == NavigationBarShow ) {
		for (
			var NavChild = NavFrame.firstChild;
		NavChild != null;
		NavChild = NavChild.nextSibling
		) {
			if ( NavChild.className == 'NavPic' ) {
				NavChild.style.display = 'block';
			}
			if ( NavChild.className == 'NavContent' ) {
				NavChild.style.display = 'block';
			}
		}
		NavToggle.firstChild.data = NavigationBarHide;
	}
}

// adds show/hide-button to navigation bars
function createNavigationBarToggleButton() {
	var indexNavigationBar = 0;
	// iterate over all < div >-elements
	for(
		var i=0;
	NavFrame = document.getElementsByTagName( 'div' )[i];
	i++
	) {
		// if found a navigation bar
		if ( NavFrame.className == 'NavFrame' ) {

			indexNavigationBar++;
			var NavToggle = document.createElement( 'a' );
			NavToggle.className = 'NavToggle';
			NavToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar );
			NavToggle.setAttribute( 'href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');' );

			var NavToggleText = document.createTextNode( NavigationBarHide );
			NavToggle.appendChild( NavToggleText );
			// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
			for(
				var j=0;
			j < NavFrame.childNodes.length;
			j++
			) {
				if ( NavFrame.childNodes[j].className == 'NavHead' ) {
					NavFrame.childNodes[j].appendChild( NavToggle );
				}
			}
			NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar );
		}
	}
	// if more Navigation Bars found than Default: hide all
	if ( NavigationBarShowDefault < indexNavigationBar ) {
		for(
			var i=1;
		i<=indexNavigationBar;
		i++
		) {
			toggleNavigationBar( i );
		}
	}

}

$( createNavigationBarToggleButton );

// Language selector
importScript( 'MediaWiki:Ls.js' );

// Início do Código para o TickerSource
importScript( 'MediaWiki:Ticker.js' );
importScript( 'MediaWiki:PageCSS.js' );

if ( mw.config.get( 'wgPageName' ) == 'Portal:Futebol' ) {
	NavigationBarShowDefault = 50;
}

/**
 * Transforma determinadas páginas em páginas de discussão
 *
 * Transforma páginas comuns em páginas de discussão, para permitir coloração baseada na indentação
 * Origem: [[fr:w:MediaWiki:Common.js]]
 * Autores: ver [[fr:w:MediaWiki:Common.js]]
 */

function TransformeEmPaginaDeDiscussao() {
	if( document.getElementById( 'PaginaDeDiscussao' ) ) {
		document.body.className = 'ns-talk';
	}
}
$( TransformeEmPaginaDeDiscussao );

/** Altera o título da página
 *
 * A função procura por um banner como:
 * Origem: [[:w:en:MediaWiki:Common.js]]
 * <nowiki><div id="RealTitleBanner">Div that is hidden</nowiki>
 *   <nowiki><span id="RealTitle">title</span></nowiki>
 * <nowiki></div></nowiki>
 * An element with id=DisableRealTitle disables the function.
 */

rewritePageH1 = function() {
	try {
		var realTitleBanner = document.getElementById( 'RealTitleBanner' );
		if ( realTitleBanner ) {
			if ( !document.getElementById( 'DisableRealTitle' ) ) {
				var realTitle = document.getElementById( 'RealTitle' );
				var h1 = document.getElementsByTagName( 'h1' )[0];
				if ( realTitle && h1 ) {
					h1.innerHTML = realTitle.innerHTML;
					realTitleBanner.style.display = 'none';
				}
			}
		}
	}
	catch ( e ) {
		/* Algo deu errado. */
	}
}
$( rewritePageH1 );