MediaWiki:Common.js: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição |
+ alteração, a pedido de User:Helder.wiki em https://pt.wikipedia.org/w/index.php?diff=38147232&oldid=38133530 |
||
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 */ |
||
/*global $, jQuery, mw, importScript */ |
|||
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit' , 'submit'] ) !== -1 ) { |
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit' , 'submit'] ) !== -1 ) { |
||
window.load_edittools = true; |
|||
importScript( 'MediaWiki:Edittools.js' ); |
importScript( 'MediaWiki:Edittools.js' ); |
||
importScript( 'MediaWiki:Extrabo.js' ); |
importScript( 'MediaWiki:Extrabo.js' ); |
||
Linha 13: | Linha 14: | ||
} |
} |
||
/** |
/** Correlatos |
||
* Adiciona links para os projetos correlatos no menu lateral, a partir da [[Predefinição:Correlatos]]. |
|||
* Correlatos |
|||
* TODO: Remover quando o [[bugzilla:708]] for resolvido |
|||
* |
|||
* @author: [[:de:wikt:User:Melancholie]] |
|||
* Correlatos no menu lateral. Código copiado do de:wikt |
|||
* @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;}' ); |
mw.util.addCSS( '#interProject, #sisterProjects {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}' ); |
||
function iProject() { |
function iProject() { |
||
var iProjectHtml, interProject; |
|||
if ( document.getElementById( 'interProject' ) ) { |
if ( document.getElementById( 'interProject' ) ) { |
||
iProjectHtml = document.getElementById( 'interProject' ).innerHTML; |
|||
interProject = document.createElement( 'div' ); |
|||
interProject.style.marginTop = '0.7em'; |
interProject.style.marginTop = '0.7em'; |
||
interProject.innerHTML = '<h5>Correlatos<\/h5><div class="pBody">'+ |
interProject.innerHTML = '<h5>Correlatos<\/h5><div class="pBody">'+iProjectHtml+'<\/div>'; |
||
document.getElementById( 'p-tb' ).appendChild( interProject ); |
document.getElementById( 'p-tb' ).appendChild( interProject ); |
||
} |
|||
} |
} |
||
} |
|||
$( iProject ); |
$( iProject ); |
||
Linha 66: | Linha 69: | ||
if ( !window.aOnloadFunctions ) { |
if ( !window.aOnloadFunctions ) { |
||
mw.log.deprecate( window, 'aOnloadFunctions', [], 'Use jQuery em vez disso' ); |
|||
} |
} |
||
mw.log.deprecate( window, 'onload', function() { |
|||
if ( window.aOnloadFunctions ) { |
if ( window.aOnloadFunctions ) { |
||
for ( var _i=0; _i<aOnloadFunctions.length; _i++ ) { |
for ( var _i=0; _i<window.aOnloadFunctions.length; _i++ ) { |
||
aOnloadFunctions[_i](); |
window.aOnloadFunctions[_i](); |
||
} |
} |
||
} |
} |
||
}, 'Use jQuery em vez disso' ); |
|||
} |
|||
// END Enable multiple onload functions |
// END Enable multiple onload functions |
||
// ============================================================ |
// ============================================================ |
||
mw.log.deprecate( window, 'addLoadEvent', function ( func ) { |
|||
if ( window.addEventListener ) { |
if ( window.addEventListener ) { |
||
window.addEventListener( 'load', func, false ); |
window.addEventListener( 'load', func, false ); |
||
Linha 86: | Linha 89: | ||
window.attachEvent( 'onload', func ); |
window.attachEvent( 'onload', func ); |
||
} |
} |
||
}, 'Use jQuery em vez disso' ); |
|||
} |
|||
/* Barras de navegação */ |
|||
/** |
/** |
||
* Dynamic Navigation Bars (experimental) |
|||
* Barras de navegação dinâmica |
|||
* |
* |
||
* Description: See [[Wikipedia:NavFrame]]. |
|||
* Origem: [[:it:MediaWiki:Common.js]] |
|||
* Maintainers: UNMAINTAINED |
|||
* @source: [[w:en:MediaWiki:Common.js]] |
|||
*/ |
*/ |
||
/ |
/* set up the words in your language */ |
||
var NavigationBarHide = ' |
var NavigationBarHide = '[ocultar]'; |
||
var NavigationBarShow = ' |
var NavigationBarShow = '[exibir]'; |
||
/** |
|||
// set up max count of Navigation Bars on page, |
|||
* Shows and hides content and picture (if available) of navigation bars |
|||
// if there are more, all will be hidden |
|||
* Parameters: |
|||
// NavigationBarShowDefault = 0; // all bars will be hidden |
|||
* indexNavigationBar: the index of navigation bar to be toggled |
|||
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden |
|||
**/ |
|||
var NavigationBarShowDefault = 0; |
|||
window.toggleNavigationBar = function ( indexNavigationBar, event ) { |
|||
// 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 NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar ); |
||
var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar ); |
var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar ); |
||
var NavChild; |
|||
if ( !NavFrame || !NavToggle ) { |
if ( !NavFrame || !NavToggle ) { |
||
Linha 117: | Linha 117: | ||
} |
} |
||
/ |
/* if shown now */ |
||
if ( NavToggle.firstChild.data == NavigationBarHide ) { |
if ( NavToggle.firstChild.data === NavigationBarHide ) { |
||
for ( NavChild = NavFrame.firstChild; NavChild !== null; NavChild = NavChild.nextSibling ) { |
|||
for ( |
|||
if ( $( NavChild ).hasClass( 'NavContent' ) || $( NavChild ).hasClass( 'NavPic' ) ) { |
|||
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'; |
NavChild.style.display = 'none'; |
||
} |
} |
||
Linha 133: | Linha 126: | ||
NavToggle.firstChild.data = NavigationBarShow; |
NavToggle.firstChild.data = NavigationBarShow; |
||
/* if hidden now */ |
|||
} else if ( NavToggle.firstChild.data == NavigationBarShow ) { |
} else if ( NavToggle.firstChild.data === NavigationBarShow ) { |
||
for ( NavChild = NavFrame.firstChild; NavChild !== null; NavChild = NavChild.nextSibling ) { |
|||
for ( |
|||
if ( $( NavChild ).hasClass( 'NavContent' ) || $( NavChild ).hasClass( 'NavPic' ) ) { |
|||
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'; |
NavChild.style.display = 'block'; |
||
} |
} |
||
Linha 149: | Linha 135: | ||
NavToggle.firstChild.data = NavigationBarHide; |
NavToggle.firstChild.data = NavigationBarHide; |
||
} |
} |
||
} |
|||
event.preventDefault(); |
|||
// adds show/hide-button to navigation bars |
|||
}; |
|||
/* adds show/hide-button to navigation bars */ |
|||
function createNavigationBarToggleButton() { |
function createNavigationBarToggleButton() { |
||
var indexNavigationBar = 0; |
var indexNavigationBar = 0; |
||
var NavFrame; |
|||
// iterate over all < div >-elements |
|||
/* iterate over all < div >-elements */ |
|||
for( |
|||
var divs = document.getElementsByTagName( 'div' ); |
|||
var i=0; |
|||
for( var i = 0; (NavFrame = divs[i]); i++ ) { |
|||
NavFrame = document.getElementsByTagName( 'div' )[i]; |
|||
/* if found a navigation bar */ |
|||
i++ |
|||
if ( $( NavFrame ).hasClass( 'NavFrame' ) ) { |
|||
) { |
|||
// if found a navigation bar |
|||
if ( NavFrame.className == 'NavFrame' ) { |
|||
indexNavigationBar++; |
indexNavigationBar++; |
||
Linha 167: | Linha 153: | ||
NavToggle.className = 'NavToggle'; |
NavToggle.className = 'NavToggle'; |
||
NavToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar ); |
NavToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar ); |
||
NavToggle.setAttribute( 'href', ' |
NavToggle.setAttribute( 'href', '#' ); |
||
$( NavToggle ).on( 'click', $.proxy( window.toggleNavigationBar, window, 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) */ |
|||
for( var j=0; j < NavFrame.childNodes.length; j++ ) { |
|||
for( |
|||
if ( $( NavFrame.childNodes[j] ).hasClass( 'NavHead' ) ) { |
|||
var j=0; |
|||
NavToggle.style.color = NavFrame.childNodes[j].style.color; |
|||
j++ |
|||
) { |
|||
if ( NavFrame.childNodes[j].className == 'NavHead' ) { |
|||
NavFrame.childNodes[j].appendChild( NavToggle ); |
NavFrame.childNodes[j].appendChild( NavToggle ); |
||
} |
} |
||
Linha 184: | Linha 168: | ||
} |
} |
||
} |
} |
||
// if more Navigation Bars found than Default: hide all |
|||
if ( NavigationBarShowDefault < indexNavigationBar ) { |
|||
for( |
|||
var i=1; |
|||
i<=indexNavigationBar; |
|||
i++ |
|||
) { |
|||
toggleNavigationBar( i ); |
|||
} |
|||
} |
|||
} |
} |
||
mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton ); |
|||
// Language selector |
// Language selector |
||
Linha 205: | Linha 178: | ||
importScript( 'MediaWiki:Ticker.js' ); |
importScript( 'MediaWiki:Ticker.js' ); |
||
importScript( 'MediaWiki:PageCSS.js' ); |
importScript( 'MediaWiki:PageCSS.js' ); |
||
if ( mw.config.get( 'wgPageName' ) == 'Portal:Futebol' ) { |
|||
NavigationBarShowDefault = 50; |
|||
} |
|||
/** |
/** |
||
Linha 225: | Linha 194: | ||
$( TransformeEmPaginaDeDiscussao ); |
$( TransformeEmPaginaDeDiscussao ); |
||
/** |
|||
/** Altera o título da página |
|||
* Altera o título da página |
|||
* |
* |
||
* A função procura por um banner como: |
* A função procura por um banner como: |
||
** <div id="RealTitleBanner">Div que está oculta |
|||
* Origem: [[:w:en:MediaWiki:Common.js]] |
|||
* < |
** <span id="RealTitle">Novo título</span> |
||
** </div> |
|||
* <nowiki><span id="RealTitle">title</span></nowiki> |
|||
* Um elemento com id=DisableRealTitle desabilita a função |
|||
* <nowiki></div></nowiki> |
|||
* @source: [[w:MediaWiki:Gadget-TitleRewrite.js]] ([[w:Special:PermaLink/33988491]]) |
|||
* An element with id=DisableRealTitle disables the function. |
|||
* @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() { |
|||
rewritePageH1 = function() { |
|||
var $realTitle, |
|||
try { |
|||
$realTitleBanner = $( '#RealTitleBanner' ); |
|||
if ( realTitleBanner ) { |
|||
if ( $realTitleBanner.length !== 0 && !$( '#DisableRealTitle' ).length ) { |
|||
$realTitle = $( '#RealTitle' ); |
|||
var h1 = document.getElementsByTagName( 'h1' )[0]; |
|||
if ( $realTitle.length ) { |
|||
$( 'h1:first' ).html( $realTitle.html() ); |
|||
$realTitleBanner.hide(); |
|||
} |
|||
} |
|||
} |
} |
||
} |
|||
catch ( e ) { |
|||
/* Algo deu errado. */ |
|||
} |
} |
||
} |
} |
||
$( rewritePageH1 ); |
|||
$( rewritePageTitle ); |
|||
}( jQuery ) ); |
Revisão das 13h18min de 15 de fevereiro de 2014
/* 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 );
*/
// ============================================================
// 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 ) {
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 ) );