MediaWiki:Common.js: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
rimosse funzioni obsolete, Scrivi qui il titolo è protetta e wgTitle non ritorna mai anche il namespace
riscrittura da zero della funzionalità hiddencat
Riga 206:
 
/**
* Controlla se un elemento ha una certa classe, usata da Collapsible tables e Hiddencat
* Uses regular expressions and caching for better performance.
* Maintainers: User:Mike Dillon, User:R. Koot, User:SG
Riga 306:
 
/**
* Hiddencat (idea originale da fr:MediaWiki:Commons.js)
* HIDDENCAT (mostra le categorie nascoste). Copiato da fr.wiki.
* In presenza di categorie nascoste, e se l'utente non ha abilitato l'opzione
* 'Mostra le categorie nascoste' nella preferenze, aggiunge un link altre/nascondi
* per controllarne la visibilità.
*
* @author [[Utente:Rotpunkt]]
*/
 
//@ deprecated
function addClass(node, className) {
if (hasClass(node, className)) {
return false;
}
node.className += ' '+ className;
return true;
 
function eregReplace(search, replace, subject) {
return subject.replace(new RegExp(search,'g'), replace);
}
 
//@ deprecated
function removeClass(node, className) {
if (!hasClass(node, className)) {
return false;
}
node.className = eregReplace('(^|\\s+)'+ className +'($|\\s+)', ' ', node.className);
return true;
}
 
function hiddencat() {
var $catlinks, $hiddenCatlinks, $toggleAnchor, $catAnchor;
var cl = document.getElementById('catlinks'); if(!cl) return;
var hc = document.getElementById('mw-hidden-catlinks'); if(!hc) return;
var nc$catlinks = document.getElementById$( 'mw-normal-#catlinks' );
$hiddenCatlinks = $( '#catlinks #mw-hidden-catlinks' );
var ahc;
// se ci sono categorie nascoste e la preferenza 'Mostra le categorie nascoste' è disabilitata
if (!nc) {
if ( $hiddenCatlinks.length && !$hiddenCatlinks.hasClass( 'mw-hidden-cats-user-shown' ) ) {
removeClass(cl, 'catlinks-allhidden');
$toggleAnchor = $( '<a>' )
addClass(cl, 'catlinks-allhidden-mostra');
.attr( 'href', '#' )
ahc = '<div id="mw-normal-catlinks"><a href="/wiki/Categoria:Categorie" title="Categoria:Categorie">Categorie</a>&nbsp;:&#32;<span dir="ltr"><a onclick="javascript:toggleHiddenCats();" id="mw-hidden-cats-link" style="cursor:pointer; color:#002BB8;" title="Questa voce contiene categorie nascoste">[altre]</a></span></div>';
.attr( 'title', 'Questa voce contiene categorie nascoste' )
document.getElementById('catlinks').innerHTML = ahc + cl.innerHTML;
else if .text( $hiddenCatlinks.hasClass(hc, 'mw-hidden-cats-hidden') ) {? '[altre]' : '[nascondi]' )
}
.click( function () {
else if( hasClass(hc, 'mw-hidden-cats-hidden') ) {
$hiddenCatlinks.toggleClass( 'mw-hidden-cats-hidden' ).toggleClass( 'mw-hidden-cats-user-shown' );
ahc = ' | <a onclick="javascript:toggleHiddenCats();" id="mw-hidden-cats-link" style="cursor:pointer; color:#002BB8;" title="Questa voce contiene categorie nascoste">[altre]</a>';
$(this).text( $hiddenCatlinks.hasClass( 'mw-hidden-cats-hidden' ) ? '[altre]' : '[nascondi]' );
document.getElementById('mw-normal-catlinks').innerHTML += ahc;
return false;
}
} );
// la posizione del link altre/nascondi è diversa a seconda che ci siano
// solo categorie nascoste (classe 'catlinks-allhidden') o anche normali
if ( $catlinks.hasClass( 'catlinks-allhidden' ) ) {
$catlinks.removeClass(cl, 'catlinks-allhidden' );
$catAnchor = $( '<a>' ).attr( 'href', '/wiki/Categoria:Categorie' ).text( 'Categorie' );
$hiddenCatlinks.before( $catAnchor, ': ', $toggleAnchor );
} else {
$( '#mw-normal-catlinks' ).append( '| ', $toggleAnchor );
}
}
}
function toggleHiddenCats() {
var hc = document.getElementById('mw-hidden-catlinks');
if( hasClass(hc, 'mw-hidden-cats-hidden') ) {
removeClass(hc, 'mw-hidden-cats-hidden');
addClass(hc, 'mw-hidden-cat-user-shown');
 
$( hiddencat );
//L'elemento <span /> crea problemi a HotCat
document.getElementById('mw-hidden-cats-link').innerHTML = '[nascondi]';
//document.getElementById('mw-hidden-cats-link').innerHTML = '[<span style="font-style:italic;">nascondi</span>]';
} else {
removeClass(hc, 'mw-hidden-cat-user-shown');
addClass(hc, 'mw-hidden-cats-hidden');
 
//Vedi commento sopra
document.getElementById('mw-hidden-cats-link').innerHTML = '[altre]';
//document.getElementById('mw-hidden-cats-link').innerHTML = '[<span style="font-style:italic;">altre</span>]';
}
}
$(hiddencat);
 
/**