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

Wikisource, a biblioteca livre
Conteúdo apagado Conteúdo adicionado
Giro720 (discussão | contribs)
corrigindo bug apontado em Wikisource:Esplanada/new tool for version comparison conforme instrução na pág. de discussão.
mSem resumo de edição
(Há uma edição intermédia do mesmo utilizador que não está a ser apresentada)
Linha 381: Linha 381:
$(extra_toolbar);
$(extra_toolbar);


mw.loader.load( dewiktionaryBaseUrl + 'MediaWiki:If-search.js&action=raw&ctype=text/javascript');
/* mw.loader.load( dewiktionaryBaseUrl + 'MediaWiki:If-search.js&action=raw&ctype=text/javascript');
*/

Revisão das 20h09min de 17 de agosto de 2011

// makeCollapsible (remover quando estiver disponível por padrão. Ver [[mw:ResourceLoader/Default_modules#jQuery.makeCollapsible]])
importStylesheet('MediaWiki:JQuery-makeCollapsible.css');
importScript('MediaWiki:JQuery-makeCollapsible.js');

/* Barras de navegação */
// Deprecated functions that have a follower that (also) accepts the same syntax:
window.getParamValue = mw.util.getParamValue;

/** Barras de navegação dinâmica
 * @source: [[:it:MediaWiki:Common.js]]
 * TODO: substituir pelo plugin makeCollapsible quando estiver online (ver [[mw:RL/DM#jQuery.makeCollapsible]])
 */

// 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);
    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.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 (
                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);

/* Upload 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="http://commons.wikimedia.org/wiki/Special:Upload">Carregar no Commons</a>';
    if (afegit) {ul_eines.insertBefore(li, afegit);}
    else {ul_eines.appendChild(li);}
}

$(linkUploadToCommons);


/* Inter entre projetos (vgl. [[MediaZilla:708]])
 * Para ser usando com a predefinição de correlatos
 */
function insertAfter(parent, node, referenceNode) {
	parent.insertBefore(node, referenceNode.nextSibling);
}

function adiciona_correlatos() {
    if (iProjectHTML = document.getElementById('interProject')) {
        iProjectHTML = iProjectHTML.innerHTML;
	    var iProject = document.createElement('div');
        if (mw.config.get( 'skin' )==='vector') {
            iProject.className = 'portal';
            cl="body";
        }
        else {
            iProject.className = 'portlet';
            cl="pBody";
        }
	iProject.innerHTML = '<h5>Correlatos<\/h5><div class="'+cl+'">' +  iProjectHTML;
        iProject.setAttribute('id',"p-correlatos");
        iProject.id="p-correlatos";
        var ptb = document.getElementById("p-tb");
        insertAfter(ptb.parentNode,iProject,ptb);
    }
}
$(adiciona_correlatos);


/* onglets */
/* modifica ''discussione'' in ''fonte'' (it.wikisource) */
function onglets()
{
   if( document.getElementById('copyrightinfo') )
       {
          var a = document.getElementById("ca-talk");
          if(a){
                a = a.firstChild;
                var s = a.innerHTML;
                var i = s.lastIndexOf('Discussão');
                a.innerHTML = s.substring(0,i)+"dados de copyright";
                }
       }
}
$(onglets);


/* Forçar mostrar previsão a IPs no domínio Anexo:
 * para reduzir a quantia de fichas criadas acidentalmente
 * by 555, baseado em script de Marc Mongenet, 2006, fr.wikipedia
 */

function forcePreview() {
  if (mw.config.get( 'wgUserName' ) !== null || mw.config.get( 'wgAction' ) !== 'edit' || mw.config.get( 'wgNamespaceNumber') !== 110) {return;}
  saveButton = document.getElementById('wpSave');
  if (!saveButton) {return;}
  saveButton.disabled = true;
  saveButton.value = "Salvar página";
  saveButton.style.fontWeight = 'normal';
  document.getElementById('wpPreview').style.fontWeight = 'bold';
}
$(forcePreview);

/* Fim do forçar mostrar previsão a IPs no domínio Anexo: */

/*
 * Transforma certas páginas em páginas de discussão com a [[predefinição:Página de discussão]]
 */
$(function() {
    var transformeEnPDD = document.getElementById('transformeEnPageDeDiscussion');
    if(transformeEnPDD) {
        $(document.body).removeClass('ns-subject').addClass('ns-talk');
    }
});

/**
 * Oculta botão editar da página de discussão
 */
$(function() {
    if ('Wikisource:Esplanada' !== mw.config.get( 'wgPageName' )) { return; }
    var href = mw.util.wikiGetlink( mw.config.get( 'wgPageName' ) )
            + '?action=edit&section=new'
            + '&editintro=Template:Discuss%C3%B5es/t'
            + '&preload=Template:Discuss%C3%A3o1';
    $( '#ca-addsection a' ).attr( 'href', href );
    if ( 'vector' === mw.config.get( 'skin' ) ) {
            // Move o botão "editar" para o menu de ações
            $('#ca-edit').appendTo('#p-cactions ul');
    }
});
/**
 * add menu on edit page /for selecting subsets of special characters
 * by [[user:Pathoschild]]
 *   - note: must match MediaWiki:Edittools
 */
function addCharSubsetMenu() {
	var specialchars = document.getElementById('specialchars');

	if (specialchars) {
		var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">";
		menu += "<option>Selecionar</option>";
		menu += "<option>Ligaduras e símbolos</option>";
		menu += "<option>Acentos</option>";
		menu += "<option>Tildes</option>";
		menu += "<option>Cedilhas</option>";
		menu += "<option>Diereses</option>";
		menu += "<option>Circunflexos</option>";
		menu += "<option>Macrons</option>";
		menu += "<option>Outros diacrítico</option>";
		menu += "<option>Grego</option>";
		menu += "<option>Hebraico</option>";
		menu += "<option>Cirílico</option>";
                menu += "<option>IPA</option>";
		menu += "</select>";
		specialchars.innerHTML = menu + specialchars.innerHTML.replace(/_newline_/gm, "\n");

		/* default subset - try to use a cookie some day */
		chooseCharSubset(0);
	}
}

/* select subsection of special characters */
function chooseCharSubset(s) {
	var l = document.getElementById('specialchars').getElementsByTagName('p');
	for (var i = 0; i < l.length ; i++) {
		l[i].style.display = i === s ? 'inline' : 'none';
		l[i].style.visibility = i === s ? 'visible' : 'hidden';
	}
}

$(addCharSubsetMenu);

/** &withJS= URL parameter
 * Allow to try custom scripts from MediaWiki space without editing [[Special:Mypage/vector.js]]
 * @author From [[en:w:MediaWiki:Common.js]]
 */
var extraJS = mw.util.getParamValue('withJS');
if ( extraJS && extraJS.match("^MediaWiki:[^&<>=%]*\.js$") ) {
    importScript(extraJS);
}

/* Script para modernização automática de textos*/
importScript("User:Helder.wiki/Scripts/LanguageConverter.js");


/*scripts importados do wikisource.org*/

/* Tradução das mensagens usadas pelos diversos JavaScripts */
self.ws_messages = {
	'optlist':'Opções de exibição',
	'hide_page_numbers':'Ocultar numeração',
	'show_page_numbers':'Mostrar numeração',
	'layout':'Estilo',
	'author':'Autor',
	'translator':'Tradutor',
	'editor':'Editor',
	'publisher':'Editora',
	'place':'Local',
	'volume':'Volume',
	'school':'Escola',
	'book':'Livro',
	'collection':'Coleção',
	'journal':'Jornal ou revista',
	'phdthesis':'Tese, relatório',
	'dictionary':'Dicionário',
	'progress':'Progresso',
	'progress_T':'Pronto',
	'progress_V':'A ser validado',
	'progress_C':'A ser revisto',
	'progress_MS':'Pronto para corresponder e dividir',
	'progress_OCR':'Precisa de uma camada de OCR',
	'progress_X':'O arquivo-fonte é um excerto de um volume maior, ou uma mistura de várias fontes',
	'progress_L':'O arquivo-fonte está incorreto (faltando páginas, com páginas fora de ordem, etc)',
	'▲':'Votar ao topo da página',

	'corr_list':"Lista de correções realizadas nesta página" ,
	'corr_link':"Correções" ,
	'corr_one':"Um erro de digitação</a> foi corrigido." ,
	'corr_many':" erros de digitação</a> foram corrigidos." ,
	'corr_close':"Fechar." ,

	'iwtrans':'O texto vem de',
	'iwtrans2':'O texto vem de outros subdomínios do Wikisource.',

	'compare_with':  'Comparação com:',
	'compare_texts': 'Comparação de texto'
};

/* Leiautes dinâmicos*/
self.ws_layouts = {
 'Layout 1':{'text-wrap':"",
      '#text-container':"" ,
      '#text':"",
      '.sidenote-right':"float:right;margin:0.5em;padding:3px;border:solid 1px gray;max-width:9em;text-indent:0em;text-align:left;",
      '.sidenote-left':"float:left;margin:0.5em;padding:3px;border:solid 1px gray;max-width:9em;text-indent:0em;text-align:left;",
      '.editsection':"display:none",
      '#headertemplate':"" },
 'Layout 2':{'text-wrap':"position:relative;margin-left:3em;margin-right:3em;",
      '#text-container':"width:36em;margin:0px auto;" ,
      '#text':"text-align:justify;",
      '.sidenote-right':"position:absolute; left:37em;width:16em;text-indent:0em;text-align:left;",
      '.sidenote-left':"position:absolute; right:37em;width:16em;text-indent:0em;text-align:right;",
      '.editsection':"display:none",
      '#headertemplate':"" },
 'Layout 3':{'text-wrap':"margin-left:3em",
      '#text-container':"position:relative; min-width:60em; float:left; width:100%; margin-right:-23em;" ,
      '#text':"text-align:justify;margin-right:23em; text-indent:0em; padding-left:0px; padding-right:0px;width:auto;",
      '.sidenote-right':"position:absolute; right:-10em; width:9em; background-color:#eeeeee;text-indent:0em;text-align:left;",
      '.sidenote-left': "position:absolute; right:-10em; width:9em; background-color:#eeeeee;text-indent:0em;text-align:left;",
      '.editsection':"display:none",
      '#headertemplate':"position:absolute; top:0em; right:-23em; width:21em;float:right; text-align:left;" }
};


/* test */
self.proofreadpage_add_container=true;

var oldwikisourceBaseUrl = 'http://wikisource.org/w/index.php?title=';
var dewiktionaryBaseUrl = 'http://de.wiktionary.org/w/index.php?title=';

if ( mw.config.get( 'wgServer' ).indexOf('https://') === 0 ) {
	oldwikisourceBaseUrl = 'https://secure.wikimedia.org/wikipedia/sources/w/index.php?title=';
	dewiktionaryBaseUrl = 'https://secure.wikimedia.org/wiktionary/de/w/index.php?title=';
}
mw.loader.load( oldwikisourceBaseUrl + 'MediaWiki:Base.js&action=raw&ctype=text/javascript');
mw.loader.load( oldwikisourceBaseUrl + 'MediaWiki:PageNumbers.js&action=raw&ctype=text/javascript');
mw.loader.load( oldwikisourceBaseUrl + 'MediaWiki:DisplayFooter.js&action=raw&ctype=text/javascript');
mw.loader.load( oldwikisourceBaseUrl + 'MediaWiki:InterWikiTransclusion.js&action=raw&ctype=text/javascript');
mw.loader.load( oldwikisourceBaseUrl + 'MediaWiki:PageNumbers.js&action=raw&ctype=text/javascript');
mw.loader.load( oldwikisourceBaseUrl + 'MediaWiki:Compare.js&action=raw&ctype=text/javascript');
mw.loader.load( oldwikisourceBaseUrl + 'MediaWiki:IndexForm.js&action=raw&ctype=text/javascript');

/* Carrega os botões extra (default) de edição */
function extra_toolbar() {
    if ( typeof $.wikiEditor !== 'undefined' ) {
         importScript( 'MediaWiki:Common.js/toolbar_newer.js' );
    } else {
        mw.loader.load(oldwikisourceBaseUrl + 'MediaWiki:OCR.js&action=raw&ctype=text/javascript');
        importScript( 'MediaWiki:Common.js/toolbar_older.js' );
    }
}
$(extra_toolbar);

/* mw.loader.load( dewiktionaryBaseUrl + 'MediaWiki:If-search.js&action=raw&ctype=text/javascript');
*/