MediaWiki:Gadget-HiddenCat.js

Da Semi del Verbo, l'enciclopedia dell'influenza del Vangelo sulla cultura
Versione del 30 ago 2020 alle 22:40 di Johnrdorazio (discussione | contributi) (una versione importata)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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

  • Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
  • Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
  • Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
  • Opera: premi Ctrl-F5.
/**
 * 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]]
 */
/*global jQuery */

( function ( $ ) {
	'use strict';

	function addLinkHiddenCat() {
		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 {
				$( '<div></div>' )
					.css( {
							'border-left': '1px solid #a2a9b1',
							'display': 'inline-block',
							'line-height': '1.25em',
							'padding': '0 0.5em'
						} )
					.append( $toggleAnchor )
					.appendTo( '#mw-normal-catlinks' );
			}
		}
	}

	$( addLinkHiddenCat );
}( jQuery ) );