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=38147232&oldid=38133530
Krinkle (discussão | contribs)
Maintenance: Remove unused 'aOnloadFunctions' code (0 results via Special:Search)
Linha 61: Linha 61:
$( linkUploadToCommons );
$( linkUploadToCommons );
*/
*/

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

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

if ( !window.aOnloadFunctions ) {
mw.log.deprecate( window, 'aOnloadFunctions', [], 'Use jQuery em vez disso' );
}

mw.log.deprecate( window, 'onload', function() {
if ( window.aOnloadFunctions ) {
for ( var _i=0; _i<window.aOnloadFunctions.length; _i++ ) {
window.aOnloadFunctions[_i]();
}
}
}, 'Use jQuery em vez disso' );

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


mw.log.deprecate( window, 'addLoadEvent', function ( func ) {
mw.log.deprecate( window, 'addLoadEvent', function ( func ) {

Revisão das 17h55min de 8 de novembro de 2016

/* Código Javascript colocado aqui será carregado para todos os utilizadores em cada carregamento de página */
/*global $, jQuery, mw, importScript */
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit' , 'submit'] ) !== -1 ) {
	window.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
 * Adiciona links para os projetos correlatos no menu lateral, a partir da [[Predefinição:Correlatos]].
 * TODO: Remover quando o [[bugzilla:708]] for resolvido
 * @author: [[:de:wikt:User:Melancholie]]
 * @source: [[:de:wikt:MediaWiki:Common.js/Archiv 2008-04-28]] ([[de:wikt:Special:PermaLink/217901]])
 */
mw.util.addCSS( '#interProject, #sisterProjects {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}' );
function iProject() {
  var iProjectHtml, interProject;
	if ( document.getElementById( 'interProject' ) ) {
		iProjectHtml = document.getElementById( 'interProject' ).innerHTML;
		interProject = document.createElement( 'div' );
		interProject.style.marginTop = '0.7em';
		interProject.innerHTML = '<h5>Correlatos<\/h5><div class="pBody">'+iProjectHtml+'<\/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 );
*/

mw.log.deprecate( window, 'addLoadEvent', function ( func ) {
	if ( window.addEventListener ) {
		window.addEventListener( 'load', func, false );
	} else if ( window.attachEvent ) {
		window.attachEvent( 'onload', func );
	}
}, 'Use jQuery em vez disso' );

/**
 * Dynamic Navigation Bars (experimental)
 *
 * Description: See [[Wikipedia:NavFrame]].
 * Maintainers: UNMAINTAINED
 * @source: [[w:en:MediaWiki:Common.js]]
 */

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

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

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

	/* if shown now */
	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;

    /* if hidden now */
	} 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();
};

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

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

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

/**
 * 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:
 ** <div id="RealTitleBanner">Div que está oculta
 ** <span id="RealTitle">Novo título</span>
 ** </div>
 * Um elemento com id=DisableRealTitle desabilita a função
 * @source: [[w:MediaWiki:Gadget-TitleRewrite.js]] ([[w:Special:PermaLink/33988491]])
 * @source: [[:en:MediaWiki:Common.js]] ([[en:Special:PermaLink/95609539]]) / [[:en:User:Interiot/js/RealTitle.js]]
 * @see: [[:en:MediaWiki talk:Common.js/Archive 2#Initial letter is shown capitalized due to technical restrictions]]
 * @see: [[:en:Wikipedia:Village pump (technical)/Archive AC#Name technical restrictions workaround]]
 * @author: [[:en:User:Interiot]]
 * @author: [[User:!Silent]]
 */
( function( $ ) {
'use strict';

function rewritePageTitle() {
	var $realTitle,
		$realTitleBanner = $( '#RealTitleBanner' );

	if ( $realTitleBanner.length !== 0 && !$( '#DisableRealTitle' ).length ) {
		$realTitle = $( '#RealTitle' );

		if ( $realTitle.length ) {
			$( 'h1:first' ).html( $realTitle.html() );
			$realTitleBanner.hide();
		}
	}
}

$( rewritePageTitle );

}( jQuery ) );