MediaWiki:Vector.js: differenze tra le versioni
Aspetto
Contenuto cancellato Contenuto aggiunto
m posizione pulsante "modifica" delle sezioni e sistemazione interprogetto da w:it:MediaWiki:Vector.js |
|||
Riga 66: | Riga 66: | ||
if (wgPageName == "Pagina_principale" || wgPageName == "Discussioni:Pagina_principale") |
if (wgPageName == "Pagina_principale" || wgPageName == "Discussioni:Pagina_principale") |
||
addOnloadHook(mainPageTransform); |
addOnloadHook(mainPageTransform); |
||
/* |
|||
Correzione della posizione del link [modifica] delle sezioni. |
|||
Copyright 2006, Marc Mongenet |
|||
This program is free software; you can redistribute it and/or |
|||
modify it under the terms of the GNU General Public License |
|||
as published by the Free Software Foundation; either version 2 |
|||
of the License, or (at your option) any later version. |
|||
This program is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
See http://www.gnu.org/licenses/gpl.html |
|||
The function looks for <span class="editsection">, and move them |
|||
at the end of their parent and display them inline in small font. |
|||
var oldEditsectionLinks=true disables the function. |
|||
*/ |
|||
setModifySectionStyle = function() |
|||
{ |
|||
try { |
|||
if (!(typeof oldEditsectionLinks == 'undefined' || oldEditsectionLinks == false)) return; |
|||
var spans = document.getElementsByTagName("span"); |
|||
for (var s = 0; s < spans.length; ++s) { |
|||
var span = spans[s]; |
|||
if (span.className == "editsection") { |
|||
span.style.fontSize = "x-small"; |
|||
span.style.fontWeight = "normal"; |
|||
span.style.cssFloat = span.style.styleFloat = "none"; |
|||
span.parentNode.appendChild(document.createTextNode(" ")); |
|||
span.parentNode.appendChild(span); |
|||
} |
|||
} |
|||
} catch (e) { /* something went wrong */ } |
|||
} |
|||
addOnloadHook(setModifySectionStyle); |
|||
/** Supporto per il Template:Interprogetto ******************************************** |
|||
* |
|||
* Attenzione: questo codice è un "hack", strettamente dipendente dal funzionamento |
|||
* della skin Vector; potrebbe smettere di funzionare in caso di modifiche alla skin. |
|||
* |
|||
* Maintainer: [[Utente:Salvatore Ingala]] |
|||
*/ |
|||
if ( typeof $j != 'undefined' ) |
|||
$j(document).ready(function(){ |
|||
try { |
|||
if ( $j( '#interProject' ).length == 0 ) |
|||
return; |
|||
//Controlli aggiuntivi sul div 'interProject' |
|||
var $ul = $j( '#interProject' ).find( 'ul' ); |
|||
if ( $ul.length == 0 || $ul.find( 'li' ).length == 0) |
|||
return; |
|||
var id = 'p-iproject'; |
|||
var portal = document.createElement( 'div' ); |
|||
portal.id = id; |
|||
var $portal = $j( portal ); |
|||
var $divbody = $j( document.createElement( 'div' ) ); |
|||
$divbody.addClass( 'body' ) |
|||
.append( $j( '#interProject' ).find( 'ul' ) ); |
|||
$portal.addClass( 'portal' ) |
|||
.html( '<h5>Altri progetti</h5>' ) |
|||
.append( $divbody ) |
|||
.insertAfter( $j('#p-tb') ); |
|||
//Codice adattato in gran parte da http://bits.wikimedia.org/w/extensions/UsabilityInitiative/Vector/Vector.combined.js |
|||
//Se i nav collassabili non sono abilitati, non devo gestire i cookie né l'espansione/riduzione |
|||
if (typeof wgVectorEnabledModules != 'undefined' && wgVectorEnabledModules["collapsiblenav"] == true){ |
|||
//Abilita espansione/collassamento e supporto cookie |
|||
var state = $j.cookie( 'vector-nav-' + id ); |
|||
if(state == 'true' || state == null) //impostazione predefinita: aperto |
|||
$portal.addClass( 'expanded' ).find( 'div.body' ).show(); |
|||
else |
|||
$portal.addClass( 'collapsed' ); |
|||
if(state != null) |
|||
$j.cookie( 'vector-nav-' + $j( this ).attr( 'id' ), state, {'expires':30, 'path':'/'}); |
|||
var toggle = function($element){ |
|||
$j.cookie('vector-nav-' + $element.parent().attr( 'id' ), $element.parent().is( '.collapsed' ),{'expires':30, 'path':'/'}); |
|||
$element.parent().toggleClass( 'expanded' ).toggleClass( 'collapsed' ).find( 'div.body' ).slideToggle( 'fast' ); |
|||
}; |
|||
$portal.find( 'h5' ).keydown(function(event){ |
|||
if (event.which==13 || event.which==32) |
|||
toggle( $j(this) ); |
|||
}).mousedown(function(){ |
|||
toggle( $j(this) ); |
|||
$j(this).blur(); |
|||
return false; |
|||
}); |
|||
} |
|||
//Ricalcola TabIndex |
|||
//Calcola il massimo TabIndex presente, ma escludendo i portal |
|||
var maxTI = 0; |
|||
$j( '[tabindex]' ).each(function(){ |
|||
if ($j(this).is( '#mw-panel > div.portal' )) |
|||
return; |
|||
var ti = parseInt($j(this).attr( 'tabindex' )); |
|||
if (ti > maxTI) |
|||
maxTI = ti; |
|||
}); |
|||
var tabIndex = maxTI+1; |
|||
//Assegna tabIndex incrementali ai portals non persistenti (anche quelli che esistevano prima) |
|||
$j( '#mw-panel > div.portal:not(.persistent) > h5' ).each(function(){ |
|||
$j( this ).attr( 'tabindex', tabIndex++ ); |
|||
}); |
|||
} catch(e) { |
|||
//non fa nulla |
|||
} |
|||
}); |
Versione delle 21:15, 15 giu 2010
/* Il codice JavaScript inserito qui viene caricato dagli utenti che usano la skin Vector */
/* tooltips and access keys */
ta = new Object();
ta['pt-userpage'] = new Array('.','La mia pagina utente');
ta['pt-anonuserpage'] = new Array('.','La pagina utente dell\'ip che stai usando');
ta['pt-mytalk'] = new Array('n','Le mie discussioni');
ta['pt-anontalk'] = new Array('n','Discussioni riguardo le modifiche fatte da questo ip');
ta['pt-preferences'] = new Array('','Le mie preferenze');
ta['pt-watchlist'] = new Array('l','La lista delle pagine che che stai tenendo sotto sorveglianza.');
ta['pt-mycontris'] = new Array('y','La lista dei miei contributi');
ta['pt-login'] = new Array('o','Ti consigliamo di registrarti, ma non è obbligatorio.');
ta['pt-anonlogin'] = new Array('o','Ti consigliamo di registrarti, ma non è obbligatorio.');
ta['pt-logout'] = new Array('o','Log out (esci)');
ta['ca-talk'] = new Array('t','Vedi le discussioni relative alla voce');
ta['ca-edit'] = new Array('e','Puoi modificare questa pagina. Per favore usa il bottone di anteprima prima di salvare.');
ta['ca-addsection'] = new Array('+','Aggiungi un commento a questa discussione.');
ta['ca-viewsource'] = new Array('e','Questa pagina è protetta, ma puoi vedere il suo codice sorgente.');
ta['ca-history'] = new Array('h','Versioni precedenti di questa pagina.');
ta['ca-protect'] = new Array('=','Proteggi questa pagina');
ta['ca-delete'] = new Array('d','Cancella questa pagina');
ta['ca-undelete'] = new Array('d','Ripristina la pagina com\'era prima della cancellazione');
ta['ca-move'] = new Array('m','Sposta questa pagina a un altro titolo');
ta['ca-nomove'] = new Array('','Non hai il permesso di spostare questa pagina');
ta['ca-watch'] = new Array('w','Aggiungi questa pagina all\'elenco delle pagine che tieni sotto sorveglianza');
ta['ca-unwatch'] = new Array('w','Togli questa pagina dall\'elenco delle pagine che tieni sotto sorveglianza');
ta['search'] = new Array('f','Cerca in questa wiki');
ta['p-logo'] = new Array('','Pagina Principale');
ta['n-mainpage'] = new Array('z','Visita la Pagina Principale');
ta['n-portal'] = new Array('','Descrizione del progetto, cosa puoi fare, e dove trovare le cose');
ta['n-menu'] = new Array('','Naviga fra le categorie di Wikiquote');
ta['n-recentchanges'] = new Array('r','La lista delle ultime modifiche a questa wiki');
ta['n-randompage'] = new Array('x','Mostra una pagina a caso');
ta['n-help'] = new Array('a','Pagine di aiuto, manuale, domande frequenti');
ta['n-sitesupport'] = new Array('','Aiutaci');
ta['n-villagepump'] = new Array('b','Per discutere di Wikiquote');
ta['n-contact'] = new Array('','I contatti di Wikiquote e Wikimedia Italia');
ta['t-whatlinkshere'] = new Array('j','Lista di tutte le pagine che puntano a questa');
ta['t-recentchangeslinked'] = new Array('k','Lista delle ultime modifiche alle pagine puntate da questa.');
ta['feed-rss'] = new Array('','RSS feed for this page');
ta['feed-atom'] = new Array('','Atom feed for this page');
ta['t-contributions'] = new Array('','Lista dei contributi di questo utente');
ta['t-emailuser'] = new Array('','Manda un\'email a questo utente');
ta['t-upload'] = new Array('u','Carica immagini o file multimediali su Wikiquote');
ta['t-specialpages'] = new Array('q','Lista di tutte le pagine speciali');
ta['ca-nstab-main'] = new Array('c','Vedi la voce relativa');
ta['ca-nstab-user'] = new Array('c','Vedi la pagina utente');
ta['ca-nstab-media'] = new Array('c','Vedi la pagina del file multimediale');
ta['ca-nstab-special'] = new Array('','Questa è una pagina speciale, non può essere modificata.');
ta['ca-nstab-wp'] = new Array('a','Vedi la pagina del progetto');
ta['ca-nstab-image'] = new Array('c','Vedi la pagina dell\'immagine');
ta['ca-nstab-mediawiki'] = new Array('c','Vedi il messaggio di sistema');
ta['ca-nstab-template'] = new Array('c','Vedi il template');
ta['ca-nstab-help'] = new Array('c','Vedi la pagina di aiuto');
ta['ca-nstab-category'] = new Array('c','Vedi la pagina della categoria');
/* Modifica il testo della linguetta "Voce" in "Pagina principale" */
function mainPageTransform(){
var el = document.getElementById('ca-nstab-main');
if (el && wgUserLanguage=='it'){
while (el.firstChild)
el = el.firstChild;
el.nodeValue = "Pagina principale";
}
}
if (wgPageName == "Pagina_principale" || wgPageName == "Discussioni:Pagina_principale")
addOnloadHook(mainPageTransform);
/*
Correzione della posizione del link [modifica] delle sezioni.
Copyright 2006, Marc Mongenet
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See http://www.gnu.org/licenses/gpl.html
The function looks for <span class="editsection">, and move them
at the end of their parent and display them inline in small font.
var oldEditsectionLinks=true disables the function.
*/
setModifySectionStyle = function()
{
try {
if (!(typeof oldEditsectionLinks == 'undefined' || oldEditsectionLinks == false)) return;
var spans = document.getElementsByTagName("span");
for (var s = 0; s < spans.length; ++s) {
var span = spans[s];
if (span.className == "editsection") {
span.style.fontSize = "x-small";
span.style.fontWeight = "normal";
span.style.cssFloat = span.style.styleFloat = "none";
span.parentNode.appendChild(document.createTextNode(" "));
span.parentNode.appendChild(span);
}
}
} catch (e) { /* something went wrong */ }
}
addOnloadHook(setModifySectionStyle);
/** Supporto per il Template:Interprogetto ********************************************
*
* Attenzione: questo codice è un "hack", strettamente dipendente dal funzionamento
* della skin Vector; potrebbe smettere di funzionare in caso di modifiche alla skin.
*
* Maintainer: [[Utente:Salvatore Ingala]]
*/
if ( typeof $j != 'undefined' )
$j(document).ready(function(){
try {
if ( $j( '#interProject' ).length == 0 )
return;
//Controlli aggiuntivi sul div 'interProject'
var $ul = $j( '#interProject' ).find( 'ul' );
if ( $ul.length == 0 || $ul.find( 'li' ).length == 0)
return;
var id = 'p-iproject';
var portal = document.createElement( 'div' );
portal.id = id;
var $portal = $j( portal );
var $divbody = $j( document.createElement( 'div' ) );
$divbody.addClass( 'body' )
.append( $j( '#interProject' ).find( 'ul' ) );
$portal.addClass( 'portal' )
.html( '<h5>Altri progetti</h5>' )
.append( $divbody )
.insertAfter( $j('#p-tb') );
//Codice adattato in gran parte da http://bits.wikimedia.org/w/extensions/UsabilityInitiative/Vector/Vector.combined.js
//Se i nav collassabili non sono abilitati, non devo gestire i cookie né l'espansione/riduzione
if (typeof wgVectorEnabledModules != 'undefined' && wgVectorEnabledModules["collapsiblenav"] == true){
//Abilita espansione/collassamento e supporto cookie
var state = $j.cookie( 'vector-nav-' + id );
if(state == 'true' || state == null) //impostazione predefinita: aperto
$portal.addClass( 'expanded' ).find( 'div.body' ).show();
else
$portal.addClass( 'collapsed' );
if(state != null)
$j.cookie( 'vector-nav-' + $j( this ).attr( 'id' ), state, {'expires':30, 'path':'/'});
var toggle = function($element){
$j.cookie('vector-nav-' + $element.parent().attr( 'id' ), $element.parent().is( '.collapsed' ),{'expires':30, 'path':'/'});
$element.parent().toggleClass( 'expanded' ).toggleClass( 'collapsed' ).find( 'div.body' ).slideToggle( 'fast' );
};
$portal.find( 'h5' ).keydown(function(event){
if (event.which==13 || event.which==32)
toggle( $j(this) );
}).mousedown(function(){
toggle( $j(this) );
$j(this).blur();
return false;
});
}
//Ricalcola TabIndex
//Calcola il massimo TabIndex presente, ma escludendo i portal
var maxTI = 0;
$j( '[tabindex]' ).each(function(){
if ($j(this).is( '#mw-panel > div.portal' ))
return;
var ti = parseInt($j(this).attr( 'tabindex' ));
if (ti > maxTI)
maxTI = ti;
});
var tabIndex = maxTI+1;
//Assegna tabIndex incrementali ai portals non persistenti (anche quelli che esistevano prima)
$j( '#mw-panel > div.portal:not(.persistent) > h5' ).each(function(){
$j( this ).attr( 'tabindex', tabIndex++ );
});
} catch(e) {
//non fa nulla
}
});