MediaWiki:Gadget-show-hidden-categories.js

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
/**
 * Generowanie przycisków do odkrywania ukrytych kategorii
 * Autor: Peter Bowman @ plwikt
 */

function insertButtons( $catlinks ) {
	$catlinks.each( function () {
		var $this = $( this ),
			$hiddenCats = $this.children( '.mw-hidden-catlinks' ),
			labelNode   = $hiddenCats.contents()[ 0 ];
		
		if ( labelNode && labelNode.nodeType === 3 ) {
			var label = (
					labelNode.textContent ||
					labelNode.innerText ||
					labelNode.nodeValue ||
					''
				).toLowerCase(),
				index = label.indexOf( ':' );
			
			if ( index != -1 ) {
				label = label.slice( 0, index );
			} else {
				label = label.slice( 0, label.length );
			}
			
			$this.children( '.mw-normal-catlinks' ).append(
				$( '<span>' )
					.addClass( 'catlist-showhidden' )
					.text( mw.format( '($1)', label ) )
					.on( 'click', function () {
						$hiddenCats
							.removeClass( 'mw-hidden-cats-hidden' )
							.addClass( 'mw-hidden-cats-user-shown' );
						
						this.parentNode.removeChild( this );
						return false;
					} )
			);
		}
	} );
}

if (
	!Number( mw.user.options.get( 'showhiddencats' ) ) &&
	mw.config.get( 'wgNamespaceNumber' ) !== 14
) {
	mw.hook(
		Number( mw.user.options.get( 'gadget-multiple-category-boxes' ) ) &&
		mw.config.get( 'wgNamespaceNumber' ) === 0
			? 'multipleCategoryBoxes.ready'
			: 'wikipage.categories'
	).add( insertButtons );
}