MediaWiki:Gadget-Hiddencat.js

Da Wikivoyage.

Nota: dopo aver salvato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.

  • Firefox / Safari: tenere premuto il tasto delle maiuscole e fare clic su Ricarica, oppure premere Ctrl-F5 o Ctrl-R (⌘-R su Mac)
  • Google Chrome: premere Ctrl-Shift-R (⌘-Shift-R su un Mac)
  • Internet Explorer: tenere premuto il tasto Ctrl mentre si fa clic su Refresh, oppure premere Ctrl-F5
  • Opera: svuotare completamente la cache dal menu Strumenti → Preferenze
/**
 * Hiddencat (idea originale da fr:MediaWiki:Common.js)
 * 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]] (it:w)
 */
 
function hiddencat() {
	var $catlinks, $hiddenCatlinks, $toggleAnchor, $catAnchor;
 
	$catlinks = $( '#catlinks' );
	$hiddenCatlinks = $( '#catlinks #mw-hidden-catlinks' );
	// se ci sono categorie nascoste e la preferenza 'Mostra le categorie nascoste' è disabilitata
	if ( $hiddenCatlinks.length && $hiddenCatlinks.hasClass( 'mw-hidden-cats-hidden' ) ) {
		$toggleAnchor = $( '<a>' )
			.attr( 'href', '#' )
			.attr( 'title', 'Questa voce contiene categorie nascoste' )
			.text( '[altre]' )
			.click( function () {
				$hiddenCatlinks.toggleClass( 'mw-hidden-cats-hidden' ).toggleClass( 'mw-hidden-cats-user-shown' );
				$(this).text( $hiddenCatlinks.hasClass( 'mw-hidden-cats-hidden' ) ? '[altre]' : '[nascondi]' );
				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( 'catlinks-allhidden' );
			$catAnchor = $( '<a>' ).attr( 'href', '/wiki/Categoria:Categorie' ).text( 'Categorie' );
			$hiddenCatlinks.before( $catAnchor, ': ', $toggleAnchor );
		} else {
			$( '#mw-normal-catlinks' ).append( '| ', $toggleAnchor );			
		}
	}
}
 
$( hiddencat );